source: x/dm/sddm.xml@ d09eb9b

10.0 10.1 11.0 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus nosym perl-modules qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since d09eb9b was d09eb9b, checked in by Fernando de Oliveira <fernando@…>, 6 years ago
  • Fix starting X with startx or sddm ... Part 2. ▪ sddm-0.12.0 ▪ xinit-1.3.4 ▪ ConsoleKit2-1.0.0 ▪ lxde-common-0.99.0 ▪ LXQt Desktop Final Instructions ▪ xfce4-session-4.12.1 ▪ Starting KDE4

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

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