source: x/dm/lightdm.xml@ d1a69e6

12.1 ken/TL2024 lazarus trunk xry111/llvm18
Last change on this file since d1a69e6 was d1a69e6, checked in by Bruce Dubbs <bdubbs@…>, 4 months ago

Expand lightdm configuration discussion.

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