source: x/dm/sddm.xml@ 68cba69d

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 68cba69d was 68cba69d, checked in by Ken Moffat <ken@…>, 8 years ago

sddm-0.14.0 : Add missing dependency, and in the instructions change the second 'First' to avoid repetition.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17737 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 "9f03bd184ecd7118b7d3a6b8da24f997">
14 <!ENTITY sddm-size "3.1 MB">
15 <!ENTITY sddm-buildsize "18 MB">
16 <!ENTITY sddm-time "0.6 SBU ">
17]>
18
19<sect1 id="sddm" xreflabel="sddm-&sddm-version;" revision='sysv'>
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 &lfs7a_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"/>,
82 <xref linkend="extra-cmake-modules"/> and
83 <xref linkend="qt5"/>
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="linux-pam"/> and
89 <xref linkend="upower"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <ulink url="http://sourceforge.net/projects/docutils/">Docutils</ulink>
95 (for the man pages)
96 </para>
97
98 <bridgehead renderas="sect4" revision="sysv">Runtime Dependencies</bridgehead>
99 <para role="required" revision="sysv">
100 <xref linkend="consolekit"/>
101 </para>
102
103 <para condition="html" role="usernotes">User Notes:
104 <ulink url="&blfs-wiki;/sddm"/>
105 </para>
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of SDDM</title>
110
111 <para>
112 First, create a dedicated user and group to take
113 control of the <command>sddm</command> daemon after it is
114 started. Issue the following commands as the
115 <systemitem class="username">root</systemitem> user:
116 </para>
117
118<screen role="root"><userinput>groupadd -g 64 sddm &amp;&amp;
119useradd -c "SDDM Daemon" \
120 -d /var/lib/sddm \
121 -u 64 -g sddm \
122 -s /bin/false sddm</userinput></screen>
123
124 <para>
125 Next, fix the application to start <command>upowerd</command>,
126 if necessary, and after login, start the session with
127 <command>ck-launch-session</command>:
128 </para>
129
130<screen><userinput>sed -e '/UPOWER_SERVICE)/ s:^://:' \
131 -i src/daemon/PowerManager.cpp &amp;&amp;
132
133sed -e '/\$@$/s/exec/&amp; ck-launch-session/' \
134 -i data/scripts/Xsession</userinput></screen>
135
136 <para>
137 Install <application>SDDM</application> by running the following
138 commands:
139 </para>
140
141<screen><userinput>mkdir build &amp;&amp;
142cd build &amp;&amp;
143
144cmake -DCMAKE_INSTALL_PREFIX=/usr \
145 -DCMAKE_BUILD_TYPE=Release \
146 -DENABLE_JOURNALD=OFF \
147 -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
148 -Wno-dev .. &amp;&amp;
149make</userinput></screen>
150
151 <para>
152 This package does not come with a test suite.
153 </para>
154
155 <para>
156 Now, as the <systemitem class="username">root</systemitem> user:
157 </para>
158
159<screen role="root"><userinput>make install &amp;&amp;
160install -v -dm755 -o sddm -g sddm /var/lib/sddm</userinput></screen>
161
162 </sect2>
163
164 <sect2 role="commands">
165 <title>Command Explanations</title>
166
167 <para>
168 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used to
169 apply additional compiler optimizations.
170 </para>
171
172 <para>
173 <parameter>-DENABLE_JOURNALD=OFF</parameter>: This switch is used because
174 BLFS does not support <application>systemd</application>.
175 </para>
176
177 <para>
178 <parameter>-DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf</parameter>:
179 This switch prevents the file <filename>
180 /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf</filename> from
181 being overwritten, as it may be used by other DM's.
182 </para>
183
184 <para>
185 <option>-DBUILD_MAN_PAGES=ON</option>: This switch may be used if you want
186 the man pages to be installed. Notice that you need
187 <ulink url="http://sourceforge.net/projects/docutils/">Docutils</ulink>
188 to build them.
189 </para>
190
191 </sect2>
192
193 <sect2 role="configuration">
194 <title>Configuring SDDM</title>
195
196 <sect3 id="sddm-config">
197 <title>Config File</title>
198
199 <para>
200 /etc/sddm.conf
201 </para>
202
203 <indexterm zone="sddm sddm-config">
204 <primary sortas="e-sddm.conf">/etc/sddm.conf</primary>
205 </indexterm>
206
207 <para>
208 This file is not installed with the build instructions, and
209 default values are used by sddm. In order to generate the example
210 <filename>sddm.example.conf</filename>, issue:
211 </para>
212
213<screen><userinput>sddm --example-config > sddm.example.conf</userinput></screen>
214
215 <note>
216 <para>
217 This command generates an <emphasis>example</emphasis> config file,
218 which depends on several conditions of the system where it is
219 generated. A few options are <emphasis>defaults</emphasis> from
220 upstream. If there is a previously installed
221 <filename>/etc/sddm.conf</filename>, it will generate a replica. When
222 it is generated during an X session, some session configurations are
223 replicated, e.g. if the cursor from the Adwaita theme is already
224 configured, you will obtain <emphasis>CursorTheme=Adwaita</emphasis>
225 in the example file generated.
226 </para>
227 </note>
228
229 <para>
230 If there is no <filename>/etc/sddm.conf</filename> file yet, as the
231 <systemitem class="username">root</systemitem> user, copy the example
232 file to <filename>/etc/sddm.conf</filename>:
233 </para>
234
235<screen role="root"><userinput>cp -v sddm.example.conf /etc/sddm.conf</userinput></screen>
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>/etc/rc.d/init.d/sddm</filename> init script from
291 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"><userinput>make install-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 <systemitem
311 class="username">root</systemitem> user:
312 </para>
313
314<screen role="root"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF"
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
331
332cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF"
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
350
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
362# End /etc/pam.d/sddm-greeter</literal>
363EOF</userinput></screen>
364
365 </sect3>
366
367 <sect3 id="sddm-init">
368 <title>Starting sddm</title>
369
370 <para>
371 If the sddm bootscript has been installed, start sddm by running, as the
372 <systemitem class="username">root</systemitem> user:
373 </para>
374
375<screen role="root"><userinput>/etc/rc.d/init.d/sddm start</userinput></screen>
376
377 <para>
378 By convention, X should be executed at runlevel 5, consequently, the
379 same is true for <application>sddm</application>. However, LFS default
380 runlevel is 3. Changing to runlevel 5, from a console terminal, as
381 <systemitem class="username">root</systemitem> user, starts the
382 <command>sddm</command> bootscript, bringing up the greeter screen:
383 </para>
384
385<screen role="root"><userinput>init 5</userinput></screen>
386
387 <para>
388 In order to permanently set the default to 5, starting the
389 <command>sddm</command> greeter screen automatically, modify
390 <filename>/etc/inittab</filename>. As the <systemitem
391 class="username">root</systemitem> user:
392 </para>
393
394<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
395sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
396
397 </sect3>
398
399 <sect3 id="sddm-sessions">
400 <title>Available Sessions</title>
401
402 <para>
403 The greeter offers a list of available sessions,
404 depending on the Window Managers and Desktop Environments installed. The
405 list includes sessions which have a corresponding
406 <filename>.desktop</filename> file installed under
407 <filename class="directory">/usr/share/xsessions</filename>. Most of the
408 Window Managers and Desktop Environments automatically provide those
409 files, but if necessary, you may include a custom one.
410 </para>
411
412 </sect3>
413
414 <sect3 id="sddm-themes">
415 <title>Themes</title>
416
417 <para>
418 Four themes are installed at <filename class="directory">
419 /usr/share/sddm/themes</filename>:
420 circles,
421 elarun,
422 maldives, and
423 maui.
424 The default theme is <quote>maui</quote>. You can install other themes
425 in that directory. In order to change the theme, you need to edit
426 <filename>/etc/sddm.conf</filename>, using your preferred text editor,
427 to change the default <quote>maui</quote> theme, replacing
428 <quote>Current=maui</quote> by <quote>Current=<replaceable>&lt;insert
429 new theme name here&gt;</replaceable></quote>, e.g.
430 <quote>Current=maldives</quote>.
431 </para>
432
433 <para>
434 In order to see the theme without leaving the session, issue:
435 </para>
436
437<screen><userinput>sddm-greeter --test-mode --theme <replaceable>&lt;theme path&gt;</replaceable></userinput></screen>
438
439 </sect3>
440
441 <sect3 id="sddm-Issues">
442 <title>Known Issues</title>
443
444 <para>
445 This application works well, but there are issues. You find the
446 mainstream known issues at
447 <ulink url="https://github.com/sddm/sddm/issues">Issues</ulink>.
448 The BLFS development team have found some issues.
449 </para>
450
451 <note>
452 <para>
453 In the next couple of paragraphs, due to a problem with sddm-greeter,
454 we mention how to define the keyboard used there. Notice that this is
455 also the keyboard that will be used in the X session, unless there is
456 a configuration in the Desktop Environment or in the Window Manager
457 overriding it, afterwards.
458 </para>
459 </note>
460
461 <para>
462 Keyboard selection: the greeter shows a double question mark or the
463 wrong keyboard. When you start to type the password or user name
464 (depending on the theme, only password), the right keyboard selection
465 magically appears. Optionally, a workaround is to include the keyboard
466 list in <command>/usr/share/sddm/scripts/Xsetup</command> script, as the
467 <systemitem class="username">root</systemitem> user:
468 </para>
469
470<screen role="root"><userinput>echo 'setxkbmap <replaceable>"&lt;your keyboard comma separated list&gt;"</replaceable>' &gt;&gt; \
471 /usr/share/sddm/scripts/Xsetup</userinput></screen>
472
473 <para>
474 E.g. <command>echo 'setxkbmap "fr,gb,br,us"' &gt;&gt;
475 /usr/share/sddm/scripts/Xsetup</command>. A very accurate definition
476 of the keyboard(s) is possible, for example: <command>echo 'setxkbmap
477 -model pc105 -layout br,us -variant abnt2,dvorak -keycodes evdev'
478 &gt;&gt; /usr/share/sddm/scripts/Xsetup</command>. See man setxkbmap.
479 </para>
480
481 <para>
482 Dircolors: the <filename>/etc/dircolors</filename> file is not
483 honoured. Particularly, the compressed files are not displayed in red
484 colour. If this happens, a workaround is to issue, as the
485 <systemitem class="username">root</systemitem> user:
486 </para>
487
488<screen role="root"><userinput>echo "source /etc/profile.d/dircolors.sh" &gt;&gt; /etc/bashrc</userinput></screen>
489
490 <para>
491 It has been reported that problems may happen with this package, if
492 Xorg is installed with a prefix other than <filename
493 class="directory">/usr</filename>. So far, BLFS development team has
494 not hit any problem, in this case.
495 </para>
496
497 </sect3>
498
499 </sect2>
500
501 <sect2 role="content">
502 <title>Contents</title>
503
504 <segmentedlist>
505 <segtitle>Installed Programs</segtitle>
506 <segtitle>Installed Libraries</segtitle>
507 <segtitle>Installed Directories</segtitle>
508
509 <seglistitem>
510 <seg>
511 sddm and sddm-greeter
512 </seg>
513 <seg>
514 None
515 </seg>
516 <seg>
517 $QT5DIR/qml/SddmComponents,
518 /usr/share/sddm, and
519 /var/lib/sddm
520 </seg>
521 </seglistitem>
522 </segmentedlist>
523
524 <variablelist>
525 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
526 <?dbfo list-presentation="list"?>
527 <?dbhtml list-presentation="table"?>
528
529 <varlistentry id="sddm-prog">
530 <term><command>sddm</command></term>
531 <listitem>
532 <para>
533 is a display and login manager based on
534 <application>Qt</application> libraries.
535 </para>
536 <indexterm zone="sddm sddm-prog">
537 <primary sortas="b-sddm">sddm</primary>
538 </indexterm>
539 </listitem>
540 </varlistentry>
541
542 <varlistentry id="sddm-greeter">
543 <term><command>sddm-greeter</command></term>
544 <listitem>
545 <para>
546 is an auxiliary process that displays the greeter,
547 a graphical user interface that performs user
548 authentication and initiates the selected window manager
549 or display environment.
550 </para>
551 <indexterm zone="sddm sddm-greeter">
552 <primary sortas="b-sddm-greeter">sddm-greeter</primary>
553 </indexterm>
554 </listitem>
555 </varlistentry>
556
557 </variablelist>
558
559 </sect2>
560
561</sect1>
Note: See TracBrowser for help on using the repository browser.