source: x/dm/sddm.xml@ 28320b90

12.0 12.1 12.2 gimp3 ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128
Last change on this file since 28320b90 was f2cb575d, checked in by Bruce Dubbs <bdubbs@…>, 14 months ago

Clanup sddm

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