source: x/dm/sddm.xml@ eca7a58

10.0 10.1 11.0 11.1 11.2 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus nosym perl-modules qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since eca7a58 was eca7a58, checked in by Fernando de Oliveira <fernando@…>, 7 years ago
  • Fix starting X with startx (from xinit) and sddm (with consolekit2 and upowerd) and somwhat related fixes

◦ sddm-0.12.0: fixes for upauer, Consolekit2, DBUS_CONFIG_FILENAME,

example-config, nolisten tcp, numlock, and setxkbmap.

◦ sddm bootscript: remove upowerd parts.
◦ xinit-1.3.4: Fix startx to use the first available virtual terminal
◦ ConsoleKit2-1.0.0: Fix docdir and xinitrc.d script 90-consolekit.sh

name and place

◦ lxde-common-0.99.0: Fix lxde session start
◦ LXQt Desktop Final Instructions: Fix lxde session start
◦ xfce4-session-4.12.1: Fix lxde session start
◦ Starting KDE4: Fix lxde session start

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

  • Property mode set to 100644
File size: 17.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 <!-- 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/v0.12.0/sddm-&sddm-version;.tar.xz">
12 <!ENTITY sddm-download-ftp " ">
13 <!ENTITY sddm-md5sum "520aab2b0ec3f9c253a7391133e2b1a9">
14 <!ENTITY sddm-size "3.7 KB">
15 <!ENTITY sddm-buildsize "11.4 MB">
16 <!ENTITY sddm-time "0.7 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 &lfs78_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">Runtime Dependencies</bridgehead>
98 <para role="required">
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 <para>
215 We repeat, this command generates an example config file. If there is
216 an already previously installed <filename>/etc/sddm.conf</filename>, it
217 will generate a replica. If there is no yet the
218 <filename>/etc/sddm.conf</filename> file, as the
219 <systemitem class="username">root</systemitem> user, copy the example
220 file to <filename>/etc/sddm.conf</filename>:
221 </para>
222
223<screen role="root"><userinput>cp -v sddm.example.conf /etc/sddm.conf</userinput></screen>
224
225 <para>
226 Normally, you want to edit this file. For example, if Xorg is installed
227 in /opt, use your preferred editor as the
228 <systemitem class="username">root</systemitem>
229 user to replace the <emphasis>XauthPath</emphasis> default path by
230 <emphasis>/usr/bin/xauth</emphasis>. Or, as the <systemitem
231 class="username">root</systemitem> user, issue
232 </para>
233
234<screen role="root"><userinput>sed -e '/ServerPath/ s|usr|opt/xorg|' \
235 -i.orig /etc/sddm.conf</userinput></screen>
236
237 <para>
238 This command will do the substitution and create a copy of the original
239 file with name <filename>/etc/sddm.conf.orig</filename>.
240 </para>
241
242 <para>
243 From now on, we will describe how to modify configurations using sed,
244 but of course you may rather use your preferred editor as the
245 <systemitem class="username">root</systemitem>, instead. You generally
246 want the server option that comes in sddm.example.conf, for security
247 reasons. Unless you want a remote machine to use the local X server,
248 in which case, as the <systemitem class="username">root</systemitem>
249 user, issue:
250 </para>
251
252<screen role="root"><userinput>sed -e 's/-nolisten tcp//'\
253 -i /etc/sddm.conf</userinput></screen>
254
255 <para>
256 Desktop (Notebook) users, normally wish the Num Lock key on (off). For
257 that, as the <systemitem
258 class="username">root</systemitem> user, issue:
259 </para>
260
261<screen role="root"><userinput>sed -e 's/\"none\"/\"on\"/' \
262 -i /etc/sddm.conf</userinput></screen>
263
264 <para>
265 That was for Desktop users. For Notebook users,
266 replace \"on\" by \"off\", in the command above.
267 </para>
268
269 </sect3>
270
271 <sect3 id="sddm-bootscript">
272 <title>Boot Script</title>
273
274 <para>
275 Install the <filename>/etc/rc.d/init.d/sddm</filename> init script from
276 the <xref linkend="bootscripts"/> package.
277 </para>
278
279 <indexterm zone="sddm sddm-bootscript">
280 <primary sortas="f-sddm">sddm</primary>
281 </indexterm>
282
283<screen role="root"><userinput>make install-sddm</userinput></screen>
284
285 </sect3>
286
287 <sect3>
288 <title>Linux PAM Configuration</title>
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 <systemitem
295 class="username">root</systemitem> user:
296 </para>
297
298<screen role="root"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF"
299<literal># Begin /etc/pam.d/sddm
300
301auth requisite pam_nologin.so
302auth required pam_env.so
303
304auth required pam_succeed_if.so uid &gt;= 1000 quiet
305auth include system-auth
306
307account include system-account
308password include system-password
309
310session required pam_limits.so
311session include system-session
312
313# End /etc/pam.d/sddm</literal>
314EOF
315
316cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF"
317<literal># Begin /etc/pam.d/sddm-autologin
318
319auth requisite pam_nologin.so
320auth required pam_env.so
321
322auth required pam_succeed_if.so uid &gt;= 1000 quiet
323auth required pam_permit.so
324
325account include system-account
326
327password required pam_deny.so
328
329session required pam_limits.so
330session include system-session
331
332# End /etc/pam.d/sddm-autologin</literal>
333EOF
334
335cat &gt; /etc/pam.d/sddm-greeter &lt;&lt; "EOF"
336<literal># Begin /etc/pam.d/sddm-greeter
337
338auth required pam_env.so
339auth required pam_permit.so
340
341account required pam_permit.so
342password required pam_deny.so
343session required pam_unix.so
344-session optional pam_systemd.so
345
346# End /etc/pam.d/sddm-greeter</literal>
347EOF</userinput></screen>
348
349 </sect3>
350
351 <sect3 id="sddm-init">
352 <title>Starting sddm</title>
353
354 <para>
355 If the sddm bootscript has been installed, start it by running, as
356 <systemitem class="username">root</systemitem> user:
357 </para>
358
359<screen role="root"><userinput>/etc/rc.d/init.d/sddm start</userinput></screen>
360
361 <para>
362 By convention, X should be executed at runlevel 5, consequently, the
363 same is true for <application>sddm</application>. However, LFS default
364 runlevel is 3. Changing to runlevel 5, from a console terminal, as
365 <systemitem class="username">root</systemitem> user, starts the
366 <command>sddm</command> bootscript, bringing up the greeter screen:
367 </para>
368
369<screen role="root"><userinput>init 5</userinput></screen>
370
371 <para>
372 In order to permanently set the default to 5, starting the
373 <command>sddm</command> greeter screen automatically, modify
374 <filename>/etc/inittab</filename>. As the <systemitem
375 class="username">root</systemitem> user:
376 </para>
377
378<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
379sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
380
381 </sect3>
382
383 <sect3 id="sddm-sessions">
384 <title>Available Sessions</title>
385
386 <para>
387 The greeter offers a list of available sessions,
388 depending on the Window Managers and Desktop Environments installed. The
389 list includes sessions which have a corresponding
390 <filename>.desktop</filename> file installed under
391 <filename class="directory">/usr/share/xsessions</filename>. Most of the
392 Window Managers and Desktop Environments automatically provide those
393 files, but if necessary, you may include a custom one.
394 </para>
395
396 </sect3>
397
398 <sect3 id="sddm-themes">
399 <title>Themes</title>
400
401 <para>
402 Four themes are installed at <filename class="directory">
403 /usr/share/sddm/themes</filename>:
404 circles,
405 elarun,
406 maldives, and
407 maui.
408 The default theme is <quote>maui</quote>. You can install other themes
409 in that directory. In order to change the theme, you need to edit
410 <filename>/etc/sddm.conf</filename>, using your preferred text editor,
411 to change the default <quote>maui</quote> theme, replacing
412 <quote>Current=maui</quote> by <quote>Current=<replaceable>&lt;insert
413 new theme name here&gt;</replaceable></quote>, e.g.
414 <quote>Current=maldives</quote>.
415 </para>
416
417 <para>
418 In order to see the theme without leaving the session, issue:
419 </para>
420
421<screen><userinput>sddm-greeter --test-mode --theme <replaceable>&lt;theme path&gt;</replaceable></userinput></screen>
422
423 </sect3>
424
425 <sect3 id="sddm-Issues">
426 <title>Known Issues</title>
427
428 <para>
429 This application works well, but there are issues. You find the
430 mainstream known issues at
431 <ulink url="https://github.com/sddm/sddm/issues">Issues</ulink>.
432 The BLFS development team have found some issues.
433 </para>
434
435 <note>
436 <para>
437 In the next couple of paragraphs, due to a problem with sddm-greeter,
438 we mention how to define the keyboard used there. Notice that this is
439 also the keyboard that will be used in the X session, unless there is
440 a configuration in the Desktop Environment or in the Window Manager
441 overriding it, afterwards.
442 </para>
443 </note>
444
445 <para>
446 Keyboard selection: the greeter shows a double question mark or the
447 wrong keyboard. When you start to type the password or user name
448 (depending on the theme, only password), the right keyboard selection
449 magically appears. Optionally, a workaround is to include the keyboard
450 list in <command>/usr/share/sddm/scripts/Xsetup</command> script, as the
451 <systemitem class="username">root</systemitem> user:
452 </para>
453
454<screen role="root"><userinput>echo 'setxkbmap <replaceable>"&lt;your keyboard comma separated list&gt;"</replaceable>' &gt;&gt; \
455 /usr/share/sddm/scripts/Xsetup</userinput></screen>
456
457 <para>
458 E.g. <command>echo 'setxkbmap "fr,gb,br,us"' &gt;&gt;
459 /usr/share/sddm/scripts/Xsetup</command>. You can be accurate defining
460 the keyboard(s), for example: <command>echo 'setxkbmap -model pc105
461 -layout br,us -variant abnt2,dvorak -keycodes evdev' &gt;&gt;
462 /usr/share/sddm/scripts/Xsetup</command>. See man setxkbmap.
463 </para>
464
465 <para>
466 Dircolors: the <filename>/etc/dircolors</filename> file is not
467 honoured. Particularly, the compressed files are not displayed in red
468 colour. If this happens, a workaround is to issue, as the
469 <systemitem class="username">root</systemitem> user:
470 </para>
471
472<screen role="root"><userinput>echo "source /etc/profile.d/dircolors.sh" &gt;&gt; /etc/bashrc</userinput></screen>
473
474 <para>
475 It has been reported that this package does not work with Xorg installed
476 with a prefix other than <filename class="directory">/usr</filename>.
477 </para>
478
479 </sect3>
480
481 </sect2>
482
483 <sect2 role="content">
484 <title>Contents</title>
485
486 <segmentedlist>
487 <segtitle>Installed Programs</segtitle>
488 <segtitle>Installed Libraries</segtitle>
489 <segtitle>Installed Directories</segtitle>
490
491 <seglistitem>
492 <seg>
493 sddm and sddm-greeter
494 </seg>
495 <seg>
496 None
497 </seg>
498 <seg>
499 $QT5DIR/qml/SddmComponents,
500 /usr/share/sddm, and
501 /var/lib/sddm
502 </seg>
503 </seglistitem>
504 </segmentedlist>
505
506 <variablelist>
507 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
508 <?dbfo list-presentation="list"?>
509 <?dbhtml list-presentation="table"?>
510
511 <varlistentry id="sddm-prog">
512 <term><command>sddm</command></term>
513 <listitem>
514 <para>
515 is a display and login manager based on
516 <application>Qt</application> libraries.
517 </para>
518 <indexterm zone="sddm sddm-prog">
519 <primary sortas="b-sddm">sddm</primary>
520 </indexterm>
521 </listitem>
522 </varlistentry>
523
524 <varlistentry id="sddm-greeter">
525 <term><command>sddm-greeter</command></term>
526 <listitem>
527 <para>
528 is an auxiliary process that displays the greeter,
529 a graphical user interface that performs user
530 authentication and initiates the selected window manager
531 or display environment.
532 </para>
533 <indexterm zone="sddm sddm-greeter">
534 <primary sortas="b-sddm-greeter">sddm-greeter</primary>
535 </indexterm>
536 </listitem>
537 </varlistentry>
538
539 </variablelist>
540
541 </sect2>
542
543</sect1>
Note: See TracBrowser for help on using the repository browser.