source: x/dm/sddm.xml@ 6bb5b3b1

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.8 7.9 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 6bb5b3b1 was 6bb5b3b1, checked in by Fernando de Oliveira <fernando@…>, 9 years ago
  • sddm-0.11.0: Discuss changes for Xorg in /opt.

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

  • Property mode set to 100644
File size: 14.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 "&sources-anduin-other-http;/sddm-&sddm-version;.tar.gz">
12 <!ENTITY sddm-download-ftp " ">
13 <!ENTITY sddm-md5sum "e110a7683867400dc9484d4744fd41dd">
14 <!ENTITY sddm-size "4.6 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 &lfs77_checked; &gcc5_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 By default, <application>SDDM</application> starts the X server with the
125 parameter <parameter>-nolisten tcp</parameter>. If you need to remotely
126 connect to X, this is undesirable. You can optionally remove this
127 parameter by running:
128 </para>
129
130<screen><userinput>sed -e '/nolisten/d' \
131 -i src/daemon/XorgDisplayServer.cpp</userinput></screen>
132
133 <para>
134 Install <application>SDDM</application> by running the following
135 commands:
136 </para>
137
138<screen><userinput>mkdir build &amp;&amp;
139cd build &amp;&amp;
140
141cmake -DCMAKE_INSTALL_PREFIX=/usr \
142 -DCMAKE_BUILD_TYPE=Release \
143 -DENABLE_JOURNALD=OFF \
144 -Wno-dev .. &amp;&amp;
145make</userinput></screen>
146
147 <para>
148 This package does not come with a test suite.
149 </para>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem> user:
153 </para>
154
155<screen role="root"><userinput>make install &amp;&amp;
156install -v -dm755 -o sddm -g sddm /var/lib/sddm</userinput></screen>
157
158 </sect2>
159
160 <sect2 role="commands">
161 <title>Command Explanations</title>
162
163 <para>
164 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used to
165 apply additional compiler optimizations.
166 </para>
167
168 <para>
169 <parameter>-DENABLE_JOURNALD=OFF</parameter>: This switch is used because
170 BLFS does not support <application>systemd</application>.
171 </para>
172
173 <para>
174 <option>-DBUILD_MAN_PAGES=ON</option>: This switch may be used if you want
175 the man pages to be installed. Notice that you need
176 <ulink url="http://sourceforge.net/projects/docutils/">Docutils</ulink>
177 to build them.
178 </para>
179
180 </sect2>
181
182 <sect2 role="configuration">
183 <title>Configuring SDDM</title>
184
185 <sect3 id="sddm-config">
186 <title>Config File</title>
187
188 <para>
189 /etc/sddm.conf
190 </para>
191
192 <indexterm zone="sddm sddm-config">
193 <primary sortas="e-sddm.conf">/etc/sddm.conf</primary>
194 </indexterm>
195
196 <para>
197 This file is not installed with the build instructions, and
198 default values are used by sddm. In order to generate the default
199 <filename>/etc/sddm.conf</filename>, issue, as the <systemitem
200 class="username">root</systemitem> user:
201 </para>
202
203<screen role="root"><userinput>sddm --example-config > /etc/sddm.conf</userinput></screen>
204
205 <para>
206 You need to edit this file, if your system has any unconventional
207 characteristics. For example, if Xorg is installed in /opt, use your
208 preferred editor as the <systemitem class="username">root</systemitem>
209 user to replace the <emphasis>ServerPath</emphasis> default value by
210 <emphasis>/opt/xorg/bin/X</emphasis>. Or, as the <systemitem
211 class="username">root</systemitem> user, issue
212 </para>
213
214<screen role="root"><userinput>sed -e 's|/usr/bin/X|/opt/xorg/bin/X|' \
215 -i.orig /etc/sddm.conf</userinput></screen>
216
217 <para>
218 This command will do the substitution and create a copy of the original
219 file with name <filename>/etc/sddm.conf.orig</filename>.
220 </para>
221
222 </sect3>
223
224 <sect3 id="sddm-bootscript">
225 <title>Boot Script</title>
226
227 <para>
228 Install the <filename>/etc/rc.d/init.d/sddm</filename> init script from
229 the <xref linkend="bootscripts"/> package.
230 </para>
231
232 <indexterm zone="sddm sddm-bootscript">
233 <primary sortas="f-sddm">sddm</primary>
234 </indexterm>
235
236<screen role="root"><userinput>make install-sddm</userinput></screen>
237
238 </sect3>
239
240 <sect3>
241 <title>Linux PAM Configuration</title>
242
243 <para>
244 If you have built <application>SDDM</application>
245 with <application>Linux PAM</application> support,
246 create the necessary configuration files by running
247 the following commands as the <systemitem
248 class="username">root</systemitem> user:
249 </para>
250
251<screen role="root"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF" &amp;&amp;
252<literal># Begin /etc/pam.d/sddm
253
254auth requisite pam_nologin.so
255auth required pam_env.so
256
257auth required pam_succeed_if.so uid &gt;= 1000 quiet
258auth include system-auth
259
260account include system-account
261password include system-password
262
263session required pam_limits.so
264session include system-session
265
266# End /etc/pam.d/sddm</literal>
267EOF
268
269cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF" &amp;&amp;
270<literal># Begin /etc/pam.d/sddm-autologin
271
272auth requisite pam_nologin.so
273auth required pam_env.so
274
275auth required pam_succeed_if.so uid &gt;= 1000 quiet
276auth required pam_permit.so
277
278account include system-account
279
280password required pam_deny.so
281
282session required pam_limits.so
283session include system-session
284
285# End /etc/pam.d/sddm-autologin</literal>
286EOF
287
288cat &gt; /etc/pam.d/sddm-greeter &lt;&lt; "EOF"
289<literal># Begin /etc/pam.d/sddm-greeter
290
291auth required pam_env.so
292auth required pam_permit.so
293
294account required pam_permit.so
295password required pam_deny.so
296session required pam_unix.so
297-session optional pam_systemd.so
298
299# End /etc/pam.d/sddm-greeter</literal>
300EOF</userinput></screen>
301
302 </sect3>
303
304 <sect3 id="sddm-init">
305 <title>Starting sddm</title>
306
307 <para>
308 If the sddm bootscript has been installed, start it by running, as
309 <systemitem class="username">root</systemitem> user:
310 </para>
311
312<screen role="root"><userinput>/etc/rc.d/init.d/sddm start</userinput></screen>
313
314 <para>
315 By convention, X should be executed at runlevel 5, consequently, the
316 same is true for <application>sddm</application>. However, LFS default
317 runlevel is 3. Changing to runlevel 5, from a console terminal, as
318 <systemitem class="username">root</systemitem> user, starts the
319 <command>sddm</command> bootscript, bringing up the greeter screen:
320 </para>
321
322<screen role="root"><userinput>init 5</userinput></screen>
323
324 <para>
325 In order to permanently set the default to 5, starting the
326 <command>sddm</command> greeter screen automatically, modify
327 <filename>/etc/inittab</filename>. As the <systemitem
328 class="username">root</systemitem> user:
329 </para>
330
331<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
332sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
333
334 </sect3>
335
336 <sect3 id="sddm-sessions">
337 <title>Available Sessions</title>
338
339 <para>
340 The greeter offers a list of available sessions,
341 depending on the Window Managers and Desktop Environments installed. The
342 list includes sessions which have a corresponding
343 <filename>.desktop</filename> file installed under
344 <filename class="directory">/usr/share/xsessions</filename>. Most of the
345 Window Managers and Desktop Environments automatically provide those
346 files, but if necessary, you may include a custom one.
347 </para>
348
349 </sect3>
350
351 <sect3 id="sddm-themes">
352 <title>Themes</title>
353
354 <para>
355 Four themes are installed at <filename class="directory">
356 /usr/share/sddm/themes</filename>:
357 circles,
358 elarun,
359 maldives, and
360 maui.
361 The default theme is <quote>maui</quote>. You can install other themes
362 in that directory. In order to change the theme, you need to edit
363 <filename>/etc/sddm.conf</filename>, using your preferred text editor,
364 to change the default <quote>maui</quote> theme, replacing
365 <quote>Current=maui</quote> by <quote>Current=<replaceable>&lt;insert
366 new theme name here&gt;</replaceable></quote>, e.g.
367 <quote>Current=maldives</quote>.
368 </para>
369
370 <para>
371 In order to see the theme without leaving the session, issue:
372 </para>
373
374<screen><userinput>sddm-greeter --test-mode --theme <replaceable>&lt;theme path&gt;</replaceable></userinput></screen>
375
376 </sect3>
377
378 <sect3 id="sddm-Issues">
379 <title>Known Issues</title>
380
381 <para>
382 This application works well, but there are issues. You find the
383 mainstream known issues at
384 <ulink url="https://github.com/sddm/sddm/issues">Issues</ulink>.
385 The BLFS development team have found some issues.
386 </para>
387
388 <para>
389 Keyboard selection: the greeter shows a double question mark or the
390 wrong keyboard. When you start to type the password or user name
391 (depending on the theme, only password), the right keyboard selection
392 magically appears. Optionally, a workaround is to include the keyboard
393 list in <command>/usr/share/sddm/scripts/Xsetup</command> script, as the
394 <systemitem class="username">root</systemitem> user:
395 </para>
396
397<screen role="root"><userinput>echo 'setxkbmap <replaceable>"&lt;your keyboard comma separated list&gt;"</replaceable>' &gt;&gt; \
398 /usr/share/sddm/scripts/Xsetup</userinput></screen>
399
400 <para>
401 E.g. <command>echo 'setxkbmap "gb,br,us"' &gt;&gt;
402 /usr/share/sddm/scripts/Xsetup</command>
403 </para>
404
405 <para>
406 Dircolors: the <filename>/etc/dircolors</filename> file is not
407 honoured. Particularly, the compressed files are not displayed in red
408 colour. If this happens, a workaround is to issue, as the
409 <systemitem class="username">root</systemitem> user:
410 </para>
411
412<screen role="root"><userinput>echo "source /etc/profile.d/dircolors.sh" &gt;&gt; /etc/bashrc</userinput></screen>
413
414 <para>
415 It has been reported that this package does not work with Xorg installed
416 with a prefix other than <filename class="directory">/usr</filename>.
417 </para>
418
419 </sect3>
420
421 </sect2>
422
423 <sect2 role="content">
424 <title>Contents</title>
425
426 <segmentedlist>
427 <segtitle>Installed Programs</segtitle>
428 <segtitle>Installed Libraries</segtitle>
429 <segtitle>Installed Directories</segtitle>
430
431 <seglistitem>
432 <seg>
433 sddm and sddm-greeter
434 </seg>
435 <seg>
436 None
437 </seg>
438 <seg>
439 $QT5DIR/qml/SddmComponents,
440 /usr/share/sddm, and
441 /var/lib/sddm
442 </seg>
443 </seglistitem>
444 </segmentedlist>
445
446 <variablelist>
447 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
448 <?dbfo list-presentation="list"?>
449 <?dbhtml list-presentation="table"?>
450
451 <varlistentry id="sddm-prog">
452 <term><command>sddm</command></term>
453 <listitem>
454 <para>
455 is a display and login manager based on
456 <application>Qt</application> libraries.
457 </para>
458 <indexterm zone="sddm sddm-prog">
459 <primary sortas="b-sddm">sddm</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="sddm-greeter">
465 <term><command>sddm-greeter</command></term>
466 <listitem>
467 <para>
468 is an auxiliary process that displays the greeter,
469 a graphical user interface that performs user
470 authentication and initiates the selected window manager
471 or display environment.
472 </para>
473 <indexterm zone="sddm sddm-greeter">
474 <primary sortas="b-sddm-greeter">sddm-greeter</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 </variablelist>
480
481 </sect2>
482
483</sect1>
Note: See TracBrowser for help on using the repository browser.