source: x/dm/lightdm.xml@ f4302700

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since f4302700 was f4302700, checked in by Xi Ruoyao <xry111@…>, 3 years ago

CFLAGS/CPPFLAGS cleanup

Move -I and -D into CPPFLAGS, and for others use ${CFLAGS:--O2 -g} to
prevent from building "non-optimized" binary.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24334 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 14.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7<!-- lightdm -->
8 <!ENTITY lightdm-download-http "https://github.com/CanonicalLtd/lightdm/releases/download/&lightdm-version;/lightdm-&lightdm-version;.tar.xz">
9 <!ENTITY lightdm-download-ftp " ">
10 <!ENTITY lightdm-md5sum "c566ea595f2b81e68684be9f8dbcbb42">
11 <!ENTITY lightdm-size "500 KB">
12 <!ENTITY lightdm-buildsize "21 MB">
13 <!ENTITY lightdm-time "0.2 SBU ">
14
15<!-- lightdm-gtk-greeter -->
16 <!ENTITY lightdm-gtk-greeter-download-http "https://github.com/Xubuntu/lightdm-gtk-greeter/releases/download/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;.tar.gz">
17 <!ENTITY lightdm-gtk-greeter-download-ftp " ">
18 <!ENTITY lightdm-gtk-greeter-md5sum "373c73c67367df511eb544e09a2da281">
19 <!ENTITY lightdm-gtk-greeter-size "569.7 KB">
20 <!ENTITY lightdm-gtk-greeter-buildsize "5.5 MB">
21 <!ENTITY lightdm-gtk-greeter-time "less than 0.1 SBU ">
22]>
23
24<sect1 id="lightdm" xreflabel="lightdm-&lightdm-version;">
25 <?dbhtml filename="lightdm.html"?>
26
27 <sect1info>
28 <othername>$LastChangedBy$</othername>
29 <date>$Date$</date>
30 </sect1info>
31
32 <title>lightdm-&lightdm-version;</title>
33
34 <indexterm zone="lightdm">
35 <primary sortas="a-lightdm">lightdm</primary>
36 </indexterm>
37
38 <sect2 role="package">
39 <title>Introduction to Lightdm</title>
40
41 <para>
42 The <application>lightdm</application> package contains a lightweight
43 display manager based upon GTK.
44 </para>
45
46 &lfs101_checked;
47
48 <bridgehead renderas="sect3">Lightdm Package Information</bridgehead>
49 <itemizedlist spacing="compact">
50 <listitem>
51 <para>
52 Download (HTTP): <ulink url="&lightdm-download-http;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download (FTP): <ulink url="&lightdm-download-ftp;"/>
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download MD5 sum: &lightdm-md5sum;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download size: &lightdm-size;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated disk space required: &lightdm-buildsize;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Estimated build time: &lightdm-time;
78 </para>
79 </listitem>
80 </itemizedlist>
81
82 <bridgehead renderas="sect3">Additional download</bridgehead>
83
84 <note>
85 <para>
86 The greeter is a program to present a graphical login screen. There
87 are several alternative greeters, but the gtk+ package is the reference
88 implementation. For a list of other greeters, see <ulink
89 url="https://en.wikipedia.org/wiki/LightDM"/>.
90 </para>
91 </note>
92
93 <itemizedlist spacing="compact">
94 <listitem>
95 <para>
96 Download (HTTP): <ulink url="&lightdm-gtk-greeter-download-http;"/>
97 </para>
98 </listitem>
99 <listitem>
100 <para>
101 Download (FTP): <ulink url="&lightdm-gtk-greeter-download-ftp;"/>
102 </para>
103 </listitem>
104 <listitem>
105 <para>
106 Download MD5 sum: &lightdm-gtk-greeter-md5sum;
107 </para>
108 </listitem>
109 <listitem>
110 <para>
111 Download size: &lightdm-gtk-greeter-size;
112 </para>
113 </listitem>
114 <listitem>
115 <para>
116 Estimated disk space required: &lightdm-gtk-greeter-buildsize;
117 </para>
118 </listitem>
119 <listitem>
120 <para>
121 Estimated build time: &lightdm-gtk-greeter-time;
122 </para>
123 </listitem>
124 </itemizedlist>
125
126 <bridgehead renderas="sect3">Lightdm Dependencies</bridgehead>
127
128 <bridgehead renderas="sect4">Required</bridgehead>
129 <para role="required">
130 <xref linkend="exo"/> (for the greeter),
131<!-- required by exo <xref linkend="gtk3"/>, -->
132 <xref linkend="libgcrypt"/>,
133 <xref linkend="itstool"/>,
134 <xref linkend="linux-pam"/>, and
135 <xref linkend="pcre"/>
136 </para>
137
138 <bridgehead renderas="sect4">Recommended</bridgehead>
139 <para role="recommended">
140 <xref linkend="gobject-introspection"/>,
141 <xref linkend="libxklavier"/>, and
142 <xref linkend="vala"/>
143 </para>
144
145 <bridgehead renderas="sect4">Optional</bridgehead>
146 <para role="optional">
147 <xref role="runtime" linkend="accountsservice"/> (run time),
148 <xref linkend="at-spi2-core"/>,
149 <xref linkend="gtk-doc"/>,
150 <xref linkend="qt5"/>,
151 <ulink url="https://launchpad.net/ido">libido</ulink>, and
152 <ulink url="https://launchpad.net/libindicator">libindicator</ulink>
153
154 </para>
155
156 <para condition="html" role="usernotes">User Notes:
157 <ulink url="&blfs-wiki;/lightdm"/>
158 </para>
159 </sect2>
160
161 <sect2 role="installation">
162 <title>Installation of Lightdm</title>
163
164 <para>
165 First, create a dedicated user and group to take
166 control of the <command>lightdm</command> daemon after it is
167 started. Issue the following commands as the
168 <systemitem class="username">root</systemitem> user:
169 </para>
170
171<screen role="root"><userinput>groupadd -g 65 lightdm &amp;&amp;
172useradd -c "Lightdm Daemon" \
173 -d /var/lib/lightdm \
174 -u 65 -g lightdm \
175 -s /bin/false lightdm</userinput></screen>
176
177 <para revision="sysv">
178 Then change the <application>Linux-PAM</application> configuration files
179 so that <application>elogind</application> is used:
180 </para>
181
182<screen revision="sysv"><userinput>sed -i s/systemd/elogind/ data/pam/*</userinput></screen>
183
184 <para>
185 Install <application>lightdm</application> by running the following
186 commands:
187 </para>
188
189<screen><userinput>./configure \
190 --prefix=/usr \
191 --libexecdir=/usr/lib/lightdm \
192 --localstatedir=/var \
193 --sbindir=/usr/bin \
194 --sysconfdir=/etc \
195 --disable-static \
196 --disable-tests \
197 --with-greeter-user=lightdm \
198 --with-greeter-session=lightdm-gtk-greeter \
199 --docdir=/usr/share/doc/lightdm-&lightdm-version; &amp;&amp;
200make</userinput></screen>
201
202 <para>
203 This package does not come with a test suite.
204 </para>
205
206 <para>
207 Now, as the <systemitem class="username">root</systemitem> user:
208 </para>
209
210<screen role="root"><userinput>make install &amp;&amp;
211cp tests/src/lightdm-session /usr/bin &amp;&amp;
212sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session &amp;&amp;
213rm -rf /etc/init &amp;&amp;
214install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm &amp;&amp;
215install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &amp;&amp;
216install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm &amp;&amp;
217install -v -dm770 -o lightdm -g lightdm /var/log/lightdm</userinput></screen>
218
219 <para>
220 Now build the greeter:
221 </para>
222
223<screen><userinput>tar -xf ../lightdm-gtk-greeter-&lightdm-gtk-greeter-version;.tar.gz &amp;&amp;
224cd lightdm-gtk-greeter-&lightdm-gtk-greeter-version; &amp;&amp;
225
226./configure \
227 --prefix=/usr \
228 --libexecdir=/usr/lib/lightdm \
229 --sbindir=/usr/bin \
230 --sysconfdir=/etc \
231 --with-libxklavier \
232 --enable-kill-on-sigterm \
233 --disable-libido \
234 --disable-libindicator \
235 --disable-static \
236 --disable-maintainer-mode \
237 --docdir=/usr/share/doc/lightdm-gtk-greeter-&lightdm-gtk-greeter-version; &amp;&amp;
238
239make</userinput></screen>
240
241 <para>
242 Now, as the <systemitem class="username">root</systemitem> user:
243 </para>
244
245<screen role="root"><userinput>make install</userinput></screen>
246
247 </sect2>
248
249 <sect2 role="commands">
250 <title>Command Explanations</title>
251 <para>
252
253 <command>sed ... /usr/bin/lightdm-session</command>:
254 This command ensures that the initial login via the greeter sources
255 /etc/profile and ~/.bash_profile. Without this, commands that depend on
256 different environment variables may not work as expected.
257 </para>
258<!--
259 <para>
260 <parameter>ITSTOOL=/bin/true</parameter>: although
261 <xref linkend="itstool"/> is not needed in a normal build,
262 <command>configure</command> throws an error if it is not found on the
263 system. This parameter prevents the error.
264 </para>
265
266 <para>
267 <parameter>HAVE_EXO_CSOURCE=yes</parameter>: although
268 <command>exo-csource</command> is not needed in a normal build,
269 <command>configure</command> throws an error if it is not found on the
270 system. This parameter prevents the error.
271 </para>
272-->
273 </sect2>
274
275 <sect2 role="configuration">
276 <title>Configuring lightdm</title>
277
278 <sect3 id="lightdm-config">
279 <title>Config Files</title>
280
281 <para>
282 /etc/lightdm/{lightdm,users,keys}.conf
283 </para>
284
285 <indexterm zone="lightdm lightdm-config">
286 <primary sortas="e-etc-lightdm-lightdm.conf">/etc/lightdm/lightdm.conf</primary>
287 </indexterm>
288
289 <indexterm zone="lightdm lightdm-config">
290 <primary sortas="e-users.conf">/etc/lightdm/users.conf</primary>
291 </indexterm>
292
293 <indexterm zone="lightdm lightdm-config">
294 <primary sortas="e-keys.conf">/etc/lightdm/keys.conf</primary>
295 </indexterm>
296
297 <indexterm zone="lightdm lightdm-config">
298 <primary sortas="e-lightdm-gtk-greeter.conf">
299 /etc/lightdm/lightdm-gtk-greeter.conf</primary>
300 </indexterm>
301
302 </sect3>
303
304 <sect3 id="lightdm-bootscript">
305 <title><phrase revision="sysv">Boot Script</phrase>
306 <phrase revision="systemd">Systemd Unit</phrase></title>
307
308 <indexterm zone="lightdm lightdm-bootscript">
309 <primary sortas="f-lightdm">lightdm</primary>
310 </indexterm>
311
312 <para revision="sysv">
313 To start <command>lightdm</command> automatically when the system is
314 switched to runlevel 5, install the
315 <filename>/etc/rc.d/init.d/xdm</filename> script and the
316 <filename>/etc/sysconfig/xdm</filename> configuration file
317 included in the <xref linkend="bootscripts"/> package
318 and adjust <filename>/etc/inittab</filename> by running
319 as the <systemitem class="username">root</systemitem> user:
320 </para>
321
322<screen role="root" revision="sysv"><userinput>make install-lightdm</userinput></screen>
323
324 <para revision="systemd">
325 Install and enable the systemd unit. From the
326 <xref linkend="systemd-units"/> package:
327 </para>
328
329<screen role="root" revision="systemd"><userinput>make install-lightdm &amp;&amp;
330systemctl enable lightdm</userinput></screen>
331
332 </sect3>
333
334 <sect3 id="lightdm-init" revision="sysv">
335 <title>Starting lightdm</title>
336
337 <para>
338 The <command>lightdm</command> greeter can be started from the
339 command line as the <systemitem class="username">root</systemitem>
340 user:
341 </para>
342
343<screen role="root"><userinput>telinit 5</userinput></screen>
344
345 <para>
346 Alternatively the runlevel can be permanently set to 5, starting the
347 <command>lightdm</command> greeter screen automatically, by modifying
348 <filename>/etc/inittab</filename>. As the <systemitem
349 class="username">root</systemitem> user:
350 </para>
351
352<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
353sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
354
355 </sect3>
356
357 <sect3 id="lightdm-sessions">
358 <title>Available Sessions</title>
359
360 <para>
361 The greeter offers a list of available sessions,
362 depending on the Window Managers and Desktop Environments installed. The
363 list includes sessions which have a corresponding
364 <filename>.desktop</filename> file installed under
365 <filename class="directory">/usr/share/xsessions</filename>. Most of the
366 Window Managers and Desktop Environments automatically provide those
367 files, but if necessary, you may include a custom one.
368 </para>
369
370 </sect3>
371
372 </sect2>
373
374 <sect2 role="content">
375 <title>Contents</title>
376
377 <segmentedlist>
378 <segtitle>Installed Programs</segtitle>
379 <segtitle>Installed Libraries</segtitle>
380 <segtitle>Installed Directories</segtitle>
381
382 <seglistitem>
383 <seg>
384 dm-tool,
385 lightdm, and
386 lightdm-gtk-greeter
387 </seg>
388 <seg>
389 liblightdm-gobject-1.so
390 </seg>
391 <seg>
392 /etc/lightdm,
393 /etc/apparmor.d,
394 /usr/lib/lightdm,
395 /usr/include/lightdm-gobject-1,
396 /usr/share/help/C/lightdm
397 /usr/share/gtk-doc/html/lightdm-gobject-1,
398 /usr/share/doc/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;,
399 /var/lib/lightdm,
400 /var/lib/lightdm-data,
401 /var/cache/lightdm, and
402 /var/log/lightdm
403 </seg>
404 </seglistitem>
405 </segmentedlist>
406
407 <variablelist>
408 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
409 <?dbfo list-presentation="list"?>
410 <?dbhtml list-presentation="table"?>
411
412 <varlistentry id="lightdm-prog">
413 <term><command>lightdm</command></term>
414 <listitem>
415 <para>
416 is a display and login manager
417 </para>
418 <indexterm zone="lightdm lightdm-prog">
419 <primary sortas="b-lightdm">lightdm</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="lightdm-gtk-greeter">
425 <term><command>lightdm-gtk-greeter</command></term>
426 <listitem>
427 <para>
428 is an auxiliary process that displays the greeter,
429 a graphical user interface that performs user
430 authentication and initiates the selected window manager
431 or display environment
432 </para>
433 <indexterm zone="lightdm lightdm-gtk-greeter">
434 <primary sortas="b-lightdm-gtk-greeter">lightdm-gtk-greeter</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
438
439 </variablelist>
440
441 </sect2>
442
443</sect1>
Note: See TracBrowser for help on using the repository browser.