source: archive/sddm.xml

trunk
Last change on this file was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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