source: x/dm/sddm.xml

trunk
Last change on this file was f86d98e0, checked in by Bruce Dubbs <bdubbs@…>, 6 weeks ago

Update to sddm-0.21.0.

  • Property mode set to 100644
File size: 18.7 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 <!ENTITY sddm-download-http "https://github.com/sddm/sddm/archive/v&sddm-version;/sddm-&sddm-version;.tar.gz">
8 <!ENTITY sddm-download-ftp " ">
9 <!ENTITY sddm-md5sum "e32a35c282d9be3360737eefbe25b5fa">
10 <!ENTITY sddm-size "3.4 MB">
11 <!ENTITY sddm-buildsize "24 MB">
12 <!ENTITY sddm-time "0.3 SBU (Using parallelism=4)">
13]>
14
15<sect1 id="sddm" xreflabel="sddm-&sddm-version;">
16 <?dbhtml filename="sddm.html"?>
17
18 <title>sddm-&sddm-version;</title>
19
20 <indexterm zone="sddm">
21 <primary sortas="a-sddm">sddm</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to sddm</title>
26
27 <para>
28 The <application>sddm</application> package contains a lightweight
29 display manager based upon <application>Qt</application> and QML.
30 </para>
31
32 &lfs121_checked;
33
34 <bridgehead renderas="sect3">Package Information</bridgehead>
35 <itemizedlist spacing="compact">
36 <listitem>
37 <para>
38 Download (HTTP): <ulink url="&sddm-download-http;"/>
39 </para>
40 </listitem>
41 <listitem>
42 <para>
43 Download (FTP): <ulink url="&sddm-download-ftp;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download MD5 sum: &sddm-md5sum;
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download size: &sddm-size;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Estimated disk space required: &sddm-buildsize;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated build time: &sddm-time;
64 </para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">SDDM Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Required</bridgehead>
71 <para role="required">
72 <xref linkend="cmake"/>,
73 <xref linkend="extra-cmake-modules"/>, and
74 &qt5-deps;
75 </para>
76
77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="recommended">
79 <xref linkend="docutils"/> (for the man pages),
80 <xref linkend="linux-pam"/>, and
81 <xref linkend="upower"/>
82 </para>
83
84<!--
85 <para condition="html" role="usernotes">User Notes:
86 <ulink url="&blfs-wiki;/sddm"/>
87 </para>
88-->
89 </sect2>
90 <sect2 role="installation">
91 <title>Installation of SDDM</title>
92
93 <para>
94 First, create a dedicated user and group to take
95 control of the <command>sddm</command> daemon after it is
96 started. Issue the following commands as the
97 &root; user:
98 </para>
99
100<screen role="root"><userinput>groupadd -g 64 sddm &amp;&amp;
101useradd -c "sddm Daemon" \
102 -d /var/lib/sddm \
103 -u 64 -g sddm \
104 -s /bin/false sddm</userinput></screen>
105<!--
106 <para revision="sysv">
107 Next, fix the application to start <command>upowerd</command>,
108 if necessary, and after login, start the session with
109 <command>ck-launch-session</command>:
110 </para>
111
112<screen revision="sysv"><userinput>sed -e '/UPOWER_SERVICE)/ s:^://:' \
113 -i src/daemon/PowerManager.cpp &amp;&amp;
114
115sed -e '/\$@$/s/exec/&amp; ck-launch-session/' \
116 -i data/scripts/Xsession</userinput></screen>
117
118 <para revision="sysv">
119 For sddm-0.16.0, ConsoleKit support has been added, but is broken. Remove
120 it with:
121 </para>
122-->
123<!-- This removes also logind support. Hopefully should be fixed for next
124 version
125<screen revision="sysv"><userinput>sed -e '/available.*true/s/true/false/' \
126 -i src/daemon/LogindDBusTypes.cpp</userinput></screen>
127-->
128 <para>
129 Install <application>sddm</application> by running the following
130 commands:
131 </para>
132
133<screen revision="sysv"><userinput>mkdir build &amp;&amp;
134cd build &amp;&amp;
135
136cmake -DCMAKE_INSTALL_PREFIX=/usr \
137 -DCMAKE_BUILD_TYPE=Release \
138 -DENABLE_JOURNALD=OFF \
139 -DNO_SYSTEMD=ON \
140 -DRUNTIME_DIR=/run/sddm \
141 -DUSE_ELOGIND=ON \
142 -DBUILD_MAN_PAGES=ON \
143 -DDATA_INSTALL_DIR=/usr/share/sddm \
144 -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
145 .. &amp;&amp;
146make</userinput></screen>
147
148<screen revision="systemd"><userinput>mkdir build &amp;&amp;
149cd build &amp;&amp;
150
151cmake -DCMAKE_INSTALL_PREFIX=/usr \
152 -DCMAKE_BUILD_TYPE=Release \
153 -DRUNTIME_DIR=/run/sddm \
154 -DBUILD_MAN_PAGES=ON \
155 -DDATA_INSTALL_DIR=/usr/share/sddm \
156 -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
157 .. &amp;&amp;
158make</userinput></screen>
159
160 <para>
161 This package does not come with a test suite.
162 </para>
163
164 <para>
165 Now, as the <systemitem class="username">root</systemitem> user:
166 </para>
167
168<screen role="root"><userinput>make install &amp;&amp;
169install -v -dm755 -o sddm -g sddm /var/lib/sddm
170/usr/bin/sddm --example-config > /etc/sddm.conf</userinput></screen>
171
172 </sect2>
173
174 <sect2 role="commands">
175 <title>Command Explanations</title>
176
177 <para>
178 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used to
179 apply additional compiler optimizations.
180 </para>
181
182 <para revision="sysv">
183 <parameter>-DENABLE_JOURNALD=OFF</parameter> and
184 <parameter>-DNO_SYSTEMD=ON</parameter>: These switchs are used because
185 this version of BLFS does not support <application>systemd</application>.
186 </para>
187
188 <para>
189 <parameter>-DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf</parameter>:
190 This switch prevents the file <filename>
191 /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf</filename> from
192 being overwritten, as it may be used by other DM's.
193 </para>
194
195 <para>
196 <parameter>-DBUILD_MAN_PAGES=ON</parameter>: This switch is used to build
197 and install man pages.
198 </para>
199
200 </sect2>
201
202 <sect2 role="configuration">
203 <title>Configuring SDDM</title>
204
205 <sect3 id="sddm-config">
206 <title>Config Files</title>
207
208 <para>
209 /etc/sddm.config
210 </para>
211
212 <indexterm zone="sddm sddm-config">
213 <primary sortas="e-sddm.conf">/etc/sddm.conf</primary>
214 </indexterm>
215
216 <para>
217 Normally, you want to edit this file. For example, if Xorg is installed
218 in /opt, use your preferred editor as the &root; user to replace the
219 default <emphasis>XauthPath</emphasis> value by
220 <emphasis>/opt/xorg/bin/xauth</emphasis>. Or, as the &root; user,
221 issue:
222 </para>
223
224<screen role="nodump"><userinput>sed -i.orig '/ServerPath/ s|usr|opt/xorg|' /etc/sddm.conf</userinput></screen>
225
226 <para>
227 This command will do the substitution and create a copy of the original
228 file with name <filename>/etc/sddm.conf.orig</filename>.
229 </para>
230
231 <para>
232 From now on, we will describe how to modify configurations using sed.
233 Of course, you may instead use your preferred editor as the &root;
234 user.
235 </para>
236
237 <para>
238 For security reasons, you normally want the default
239 <emphasis>ServerArguments=-nolisten tcp</emphasis>, unless a remote
240 machine needs access to the local X server. In that case, as the
241 &root; user, issue:
242 </para>
243
244<screen role="nodump"><userinput>sed -i 's/-nolisten tcp//' /etc/sddm.conf</userinput></screen>
245
246 <para>
247 Desktop (Notebook) users, normally want the Num Lock key on (off). For
248 that, as &root;, issue:
249 </para>
250
251<screen role="root"><userinput>sed -i '/Numlock/s/none/on/' /etc/sddm.conf</userinput></screen>
252
253 <para>
254 for Desktop users. For Notebook users, replace /on/ by /off/
255 in the command above.
256 </para>
257
258 <para>
259 By default, a virtual keyboard is presented for the user. If this is
260 not desired, run as &root;:
261 </para>
262
263<screen role="root"><userinput>sed -i 's/qtvirtualkeyboard//' /etc/sddm.conf</userinput></screen>
264
265 </sect3>
266
267 <sect3 id="sddm-bootscript">
268 <title>Boot Script</title>
269
270 <para revision="sysv">
271 Install the <filename revision="sysv">/etc/rc.d/init.d/xdm</filename>
272 init script from the <xref linkend="bootscripts" revision="sysv"/>
273 package, as the &root; user:
274 </para>
275
276 <para revision="systemd">
277 Enable the pre-installed systemd unit by running the following command
278 as the &root; user:
279 </para>
280
281 <indexterm zone="sddm sddm-bootscript">
282 <primary sortas="f-sddm">sddm</primary>
283 </indexterm>
284
285<screen role="root" revision="sysv"><userinput>make install-sddm</userinput></screen>
286
287<screen role="root" revision="systemd"><userinput>systemctl enable sddm</userinput></screen>
288
289 </sect3>
290
291 <sect3>
292 <title>Linux PAM Configuration</title>
293
294 <note>
295 <para>
296 The install procedure above installed a set of PAM configuration
297 files. These procedures overwrite them and use versions compatible
298 with a BLFS environment.
299 </para>
300 </note>
301
302 <para>
303 If you have built <application>sddm</application>
304 with <application>Linux PAM</application> support,
305 create the necessary configuration files by running
306 the following commands as the &root; user:
307 </para>
308
309<screen role="root" revision="sysv"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF"
310<literal># Begin /etc/pam.d/sddm
311
312auth requisite pam_nologin.so
313auth required pam_env.so
314
315auth required pam_succeed_if.so uid &gt;= 1000 quiet
316auth include system-auth
317
318account include system-account
319password include system-password
320
321session required pam_limits.so
322session include system-session
323
324# End /etc/pam.d/sddm</literal>
325EOF
326
327cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF"
328<literal># Begin /etc/pam.d/sddm-autologin
329
330auth requisite pam_nologin.so
331auth required pam_env.so
332
333auth required pam_succeed_if.so uid &gt;= 1000 quiet
334auth required pam_permit.so
335
336account include system-account
337
338password required pam_deny.so
339
340session required pam_limits.so
341session include system-session
342
343# End /etc/pam.d/sddm-autologin</literal>
344EOF
345
346cat &gt; /etc/pam.d/sddm-greeter &lt;&lt; "EOF"
347<literal># Begin /etc/pam.d/sddm-greeter
348
349auth required pam_env.so
350auth required pam_permit.so
351
352account required pam_permit.so
353password required pam_deny.so
354session required pam_unix.so
355-session optional pam_systemd.so
356
357# End /etc/pam.d/sddm-greeter</literal>
358EOF</userinput></screen>
359
360<screen role="root" revision="systemd"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF" &amp;&amp;
361<literal># Begin /etc/pam.d/sddm
362
363auth requisite pam_nologin.so
364auth required pam_env.so
365
366auth required pam_succeed_if.so uid &gt;= 1000 quiet
367auth include system-auth
368
369account include system-account
370password include system-password
371
372session required pam_limits.so
373session include system-session
374
375# End /etc/pam.d/sddm</literal>
376EOF
377
378cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF" &amp;&amp;
379<literal># Begin /etc/pam.d/sddm-autologin
380
381auth requisite pam_nologin.so
382auth required pam_env.so
383
384auth required pam_succeed_if.so uid &gt;= 1000 quiet
385auth required pam_permit.so
386
387account include system-account
388
389password required pam_deny.so
390
391session required pam_limits.so
392session include system-session
393
394# End /etc/pam.d/sddm-autologin</literal>
395EOF
396
397cat &gt; /etc/pam.d/sddm-greeter &lt;&lt; "EOF"
398<literal># Begin /etc/pam.d/sddm-greeter
399
400auth required pam_env.so
401auth required pam_permit.so
402
403account required pam_permit.so
404password required pam_deny.so
405session required pam_unix.so
406-session optional pam_systemd.so
407
408# End /etc/pam.d/sddm-greeter</literal>
409EOF</userinput></screen>
410
411 </sect3>
412
413 <sect3 id="sddm-init" revision="sysv">
414 <title>Starting sddm</title>
415
416 <para>
417 If the sddm bootscript has been installed, start sddm by running, as the
418 &root; user:
419 </para>
420
421<screen role="nodump"><userinput>/etc/rc.d/init.d/xdm start</userinput></screen>
422
423 <para>
424 By convention, X should be executed at runlevel 5, consequently, the
425 same is true for <application>sddm</application>. However, the default
426 runlevel is 3. Changing to runlevel 5, from a console terminal, as
427 <systemitem class="username">root</systemitem> user, starts the
428 <command>sddm</command> bootscript, bringing up the greeter screen:
429 </para>
430
431<screen role="nodump"><userinput>init 5</userinput></screen>
432
433 <para>
434 In order to permanently set the default to 5, starting the
435 <command>sddm</command> greeter screen automatically, modify
436 <filename>/etc/inittab</filename> as the <systemitem
437 class="username">root</systemitem> user:
438 </para>
439
440<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
441sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
442
443 </sect3>
444
445 <sect3 id="sddm-sessions">
446 <title>Available Sessions</title>
447
448 <para>
449 The greeter offers a list of available sessions, depending on the
450 Window Managers and Desktop Environments installed. The list includes
451 sessions which have a corresponding <filename>.desktop</filename> file
452 installed under
453 <filename class="directory">/usr/share/xsessions</filename> or
454 <filename class="directory">/usr/share/wayland-sessions</filename>.
455 Most of the Window Managers and Desktop Environments automatically
456 provide those files, but if necessary, you may include a custom one.
457 </para>
458
459 </sect3>
460
461 <sect3 id="sddm-themes">
462 <title>Themes</title>
463
464 <para>
465 Three themes are installed at <filename class="directory">
466 /usr/share/sddm/themes</filename>:
467 elarun,
468 maldives, and
469 maya.
470 There is also a default theme, which is not present in that directory.
471 You can install other themes in that directory. In order to change the
472 theme, you need to edit <filename>/etc/sddm.conf</filename>,
473 to change the default (empty) theme, replacing <quote>Current=</quote>
474 with <quote>Current=&lt;new theme&gt;</quote>, e.g.
475 <quote>Current=maldives</quote>.
476 </para>
477
478 <para>
479 In order to see the theme without leaving the session, issue:
480 </para>
481
482<screen role="nodump"><userinput>sddm-greeter --test-mode --theme <replaceable>&lt;theme path&gt;</replaceable></userinput></screen>
483
484 </sect3>
485<!--
486 <sect3 id="sddm-Issues">
487 <title>Known Issues</title>
488
489 <para>
490 This application works well, but there are issues. You find the
491 mainstream known issues at
492 <ulink url="https://github.com/sddm/sddm/issues">Issues</ulink>.
493 The BLFS development team have found some issues.
494 </para>
495
496 <note>
497 <para>
498 In the next couple of paragraphs, due to a problem with sddm-greeter,
499 we mention how to define the keyboard used there. Notice that this is
500 also the keyboard that will be used in the X session, unless there is
501 a configuration in the Desktop Environment or in the Window Manager
502 overriding it, afterwards.
503 </para>
504 </note>
505
506 <para>
507 Keyboard selection: the greeter shows a double question mark or the
508 wrong keyboard. When you start to type the password or user name
509 (depending on the theme, only password), the right keyboard selection
510 magically appears. Optionally, a workaround is to include the keyboard
511 list in <command>/usr/share/sddm/scripts/Xsetup</command> script, as the
512 <systemitem class="username">root</systemitem> user:
513 </para>
514
515<screen role="root"><userinput>echo 'setxkbmap <replaceable>"&lt;your keyboard comma separated list&gt;"</replaceable>' &gt;&gt; \
516 /usr/share/sddm/scripts/Xsetup</userinput></screen>
517
518 <para>
519 E.g. <command>echo 'setxkbmap "fr,gb,br,us"' &gt;&gt;
520 /usr/share/sddm/scripts/Xsetup</command>. A very accurate definition
521 of the keyboard(s) is possible, for example: <command>echo 'setxkbmap
522 -model pc105 -layout br,us -variant abnt2,dvorak -keycodes evdev'
523 &gt;&gt; /usr/share/sddm/scripts/Xsetup</command>. See man setxkbmap.
524 </para>
525
526 <para>
527 Dircolors: the <filename>/etc/dircolors</filename> file is not
528 honoured. Particularly, the compressed files are not displayed in red
529 colour. If this happens, a workaround is to issue, as the
530 <systemitem class="username">root</systemitem> user:
531 </para>
532
533<screen role="root"><userinput>echo "source /etc/profile.d/dircolors.sh" &gt;&gt; /etc/bashrc</userinput></screen>
534
535 <para>
536 It has been reported that problems may happen with this package, if
537 Xorg is installed with a prefix other than <filename
538 class="directory">/usr</filename>. So far, BLFS development team has
539 not hit any problem, in this case.
540 </para>
541
542 </sect3>
543-->
544 </sect2>
545
546 <sect2 role="content">
547 <title>Contents</title>
548
549 <segmentedlist>
550 <segtitle>Installed Programs</segtitle>
551 <segtitle>Installed Libraries</segtitle>
552 <segtitle>Installed Directories</segtitle>
553
554 <seglistitem>
555 <seg>
556 sddm and
557 sddm-greeter
558 </seg>
559 <seg>
560 None
561 </seg>
562 <seg>
563 $QT5DIR/qml/SddmComponents,
564 /usr/share/sddm, and
565 /var/lib/sddm
566 </seg>
567 </seglistitem>
568 </segmentedlist>
569
570 <variablelist>
571 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
572 <?dbfo list-presentation="list"?>
573 <?dbhtml list-presentation="table"?>
574
575 <varlistentry id="sddm-prog">
576 <term><command>sddm</command></term>
577 <listitem>
578 <para>
579 is a display and login manager based on
580 <application>Qt</application> libraries.
581 </para>
582 <indexterm zone="sddm sddm-prog">
583 <primary sortas="b-sddm">sddm</primary>
584 </indexterm>
585 </listitem>
586 </varlistentry>
587
588 <varlistentry id="sddm-greeter">
589 <term><command>sddm-greeter</command></term>
590 <listitem>
591 <para>
592 is an auxiliary process that displays the greeter,
593 a graphical user interface that performs user
594 authentication and initiates the selected window manager
595 or display environment.
596 </para>
597 <indexterm zone="sddm sddm-greeter">
598 <primary sortas="b-sddm-greeter">sddm-greeter</primary>
599 </indexterm>
600 </listitem>
601 </varlistentry>
602
603 </variablelist>
604
605 </sect2>
606
607</sect1>
Note: See TracBrowser for help on using the repository browser.