source: x/dm/sddm.xml@ f1ce80b

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 8.0 8.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 nosym 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 f1ce80b was f1ce80b, checked in by DJ Lucas <dj@…>, 8 years ago

[systemd-merge] - Section II layout

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

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