source: x/dm/sddm.xml@ d6aa5ce

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules 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 d6aa5ce was d6aa5ce, checked in by Pierre Labastie <pieere@…>, 7 years ago

sddm-0.16.0

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

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