source: x/dm/sddm.xml@ ad65d196

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 ad65d196 was ad65d196, checked in by Bruce Dubbs <bdubbs@…>, 14 months ago

Intermediate sddm changes

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