source: archive/sddm.xml@ ccded7e

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 ccded7e was c225bfa, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Archive sddm

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

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