source: x/dm/sddm.xml@ e180a646

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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 e180a646 was 8ca9229, checked in by Douglas R. Reno <renodr@…>, 7 years ago

SDDM Typo Fix

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

  • Property mode set to 100644
File size: 19.6 KB
RevLine 
[9fa25aa]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
[358258c2]11 <!ENTITY sddm-download-http "https://github.com/sddm/sddm/releases/download/v&sddm-version;/sddm-&sddm-version;.tar.xz">
[9fa25aa]12 <!ENTITY sddm-download-ftp " ">
[4d3f03f6]13 <!ENTITY sddm-md5sum "9f03bd184ecd7118b7d3a6b8da24f997">
14 <!ENTITY sddm-size "3.1 MB">
[358258c2]15 <!ENTITY sddm-buildsize "18 MB">
16 <!ENTITY sddm-time "0.6 SBU ">
[9fa25aa]17]>
18
[f2cedb8]19<sect1 id="sddm" xreflabel="sddm-&sddm-version;">
[9fa25aa]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
[1def00f]38 display manager based upon <application>Qt</application> and QML.
[9fa25aa]39 </para>
40
[8c748249]41 &lfs7a_checked;
[9fa25aa]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">
[68cba69d]81 <xref linkend="cmake"/>,
82 <xref linkend="extra-cmake-modules"/> and
[9fa25aa]83 <xref linkend="qt5"/>
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
[395be1c]88 <xref linkend="linux-pam"/> and
89 <xref linkend="upower"/>
[9fa25aa]90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <ulink url="http://sourceforge.net/projects/docutils/">Docutils</ulink>
[395be1c]95 (for the man pages)
[9fa25aa]96 </para>
97
[f1ce80b]98 <bridgehead renderas="sect4" revision="sysv">Runtime Dependencies</bridgehead>
99 <para role="required" revision="sysv">
[9fa25aa]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>
[1def00f]112 First, create a dedicated user and group to take
[9fa25aa]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;
[6d772cc]119useradd -c "SDDM Daemon" \
120 -d /var/lib/sddm \
121 -u 64 -g sddm \
122 -s /bin/false sddm</userinput></screen>
[9fa25aa]123
[f2cedb8]124 <para revision="sysv">
[68cba69d]125 Next, fix the application to start <command>upowerd</command>,
[eca7a58]126 if necessary, and after login, start the session with
127 <command>ck-launch-session</command>:
128 </para>
129
[f2cedb8]130<screen revision="sysv"><userinput>sed -e '/UPOWER_SERVICE)/ s:^://:' \
[eca7a58]131 -i src/daemon/PowerManager.cpp &amp;&amp;
132
[4d3f03f6]133sed -e '/\$@$/s/exec/&amp; ck-launch-session/' \
[eca7a58]134 -i data/scripts/Xsession</userinput></screen>
135
[9fa25aa]136 <para>
137 Install <application>SDDM</application> by running the following
138 commands:
139 </para>
140
[f2cedb8]141<screen revision="sysv"><userinput>mkdir build &amp;&amp;
[9fa25aa]142cd build &amp;&amp;
143
144cmake -DCMAKE_INSTALL_PREFIX=/usr \
145 -DCMAKE_BUILD_TYPE=Release \
146 -DENABLE_JOURNALD=OFF \
[eca7a58]147 -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
[9fa25aa]148 -Wno-dev .. &amp;&amp;
149make</userinput></screen>
150
[f2cedb8]151<screen revision="systemd"><userinput>mkdir build &amp;&amp;
152cd build &amp;&amp;
153
154cmake -DCMAKE_INSTALL_PREFIX=/usr \
155 -DCMAKE_BUILD_TYPE=Release \
156 -Wno-dev .. &amp;&amp;
157make</userinput></screen>
158
[9fa25aa]159 <para>
160 This package does not come with a test suite.
161 </para>
162
163 <para>
164 Now, as the <systemitem class="username">root</systemitem> user:
165 </para>
166
167<screen role="root"><userinput>make install &amp;&amp;
168install -v -dm755 -o sddm -g sddm /var/lib/sddm</userinput></screen>
169
170 </sect2>
171
172 <sect2 role="commands">
173 <title>Command Explanations</title>
174
175 <para>
176 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used to
[1def00f]177 apply additional compiler optimizations.
[9fa25aa]178 </para>
179
[f2cedb8]180 <para revision="sysv">
[9fa25aa]181 <parameter>-DENABLE_JOURNALD=OFF</parameter>: This switch is used because
182 BLFS does not support <application>systemd</application>.
183 </para>
184
[f2cedb8]185 <para revision="sysv">
[eca7a58]186 <parameter>-DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf</parameter>:
[4d3f03f6]187 This switch prevents the file <filename>
188 /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf</filename> from
189 being overwritten, as it may be used by other DM's.
[eca7a58]190 </para>
191
[395be1c]192 <para>
193 <option>-DBUILD_MAN_PAGES=ON</option>: This switch may be used if you want
194 the man pages to be installed. Notice that you need
195 <ulink url="http://sourceforge.net/projects/docutils/">Docutils</ulink>
196 to build them.
197 </para>
198
[9fa25aa]199 </sect2>
200
201 <sect2 role="configuration">
202 <title>Configuring SDDM</title>
203
[395be1c]204 <sect3 id="sddm-config">
205 <title>Config File</title>
206
207 <para>
208 /etc/sddm.conf
209 </para>
210
211 <indexterm zone="sddm sddm-config">
212 <primary sortas="e-sddm.conf">/etc/sddm.conf</primary>
213 </indexterm>
214
[6bb5b3b1]215 <para>
216 This file is not installed with the build instructions, and
[eca7a58]217 default values are used by sddm. In order to generate the example
218 <filename>sddm.example.conf</filename>, issue:
[6bb5b3b1]219 </para>
220
[eca7a58]221<screen><userinput>sddm --example-config > sddm.example.conf</userinput></screen>
[6bb5b3b1]222
[d09eb9b]223 <note>
224 <para>
225 This command generates an <emphasis>example</emphasis> config file,
226 which depends on several conditions of the system where it is
227 generated. A few options are <emphasis>defaults</emphasis> from
228 upstream. If there is a previously installed
229 <filename>/etc/sddm.conf</filename>, it will generate a replica. When
230 it is generated during an X session, some session configurations are
231 replicated, e.g. if the cursor from the Adwaita theme is already
232 configured, you will obtain <emphasis>CursorTheme=Adwaita</emphasis>
233 in the example file generated.
234 </para>
235 </note>
236
[6bb5b3b1]237 <para>
[d09eb9b]238 If there is no <filename>/etc/sddm.conf</filename> file yet, as the
[eca7a58]239 <systemitem class="username">root</systemitem> user, copy the example
240 file to <filename>/etc/sddm.conf</filename>:
241 </para>
242
243<screen role="root"><userinput>cp -v sddm.example.conf /etc/sddm.conf</userinput></screen>
244
245 <para>
246 Normally, you want to edit this file. For example, if Xorg is installed
[0b789c7]247 in /opt, use your preferred editor as the <systemitem
248 class="username">root</systemitem> user to replace the default
249 <emphasis>XauthPath</emphasis> value by
[d09eb9b]250 <emphasis>/opt/xorg/bin/xauth</emphasis>. Or, as the <systemitem
[0b789c7]251 class="username">root</systemitem> user, issue:
[6bb5b3b1]252 </para>
253
[c6e23bd]254<screen role="root"><userinput>sed -e '/ServerPath/ s|usr|opt/xorg|' \
[6bb5b3b1]255 -i.orig /etc/sddm.conf</userinput></screen>
256
257 <para>
258 This command will do the substitution and create a copy of the original
259 file with name <filename>/etc/sddm.conf.orig</filename>.
260 </para>
261
[eca7a58]262 <para>
[d09eb9b]263 From now on, we will describe how to modify configurations using sed.
264 Of course, you may instead use your preferred editor as the <systemitem
[0b789c7]265 class="username">root</systemitem> user.
266 </para>
267
268 <para>
269 For security reasons, you normally want the default
270 <emphasis>ServerArguments=-nolisten tcp</emphasis>, unless a remote
271 machine needs access to the local X server. In that case, as the
[d09eb9b]272 <systemitem class="username">root</systemitem> user, issue:
[eca7a58]273 </para>
274
275<screen role="root"><userinput>sed -e 's/-nolisten tcp//'\
276 -i /etc/sddm.conf</userinput></screen>
277
278 <para>
279 Desktop (Notebook) users, normally wish the Num Lock key on (off). For
280 that, as the <systemitem
281 class="username">root</systemitem> user, issue:
282 </para>
283
284<screen role="root"><userinput>sed -e 's/\"none\"/\"on\"/' \
285 -i /etc/sddm.conf</userinput></screen>
286
287 <para>
[d09eb9b]288 for Desktop users. For Notebook users, replace \"on\" by \"off\",
289 in the command above.
[eca7a58]290 </para>
291
[6bb5b3b1]292 </sect3>
[395be1c]293
[1def00f]294 <sect3 id="sddm-bootscript">
295 <title>Boot Script</title>
296
297 <para>
[f2cedb8]298 Install the <filename revision="sysv">/etc/rc.d/init.d/sddm</filename> init script from
[3c7bd00]299 the <xref linkend="bootscripts" revision="sysv"/>
300 <xref linkend="systemd-units" revision="systemd"/> package.
[1def00f]301 </para>
302
303 <indexterm zone="sddm sddm-bootscript">
304 <primary sortas="f-sddm">sddm</primary>
305 </indexterm>
306
[f2cedb8]307<screen role="root" revision="sysv"><userinput>make install-sddm</userinput></screen>
308
309<screen role="root" revision="systemd"><userinput>systemctl enable sddm</userinput></screen>
[1def00f]310
311 </sect3>
312
[9fa25aa]313 <sect3>
314 <title>Linux PAM Configuration</title>
315
316 <para>
317 If you have built <application>SDDM</application>
318 with <application>Linux PAM</application> support,
319 create the necessary configuration files by running
320 the following commands as the <systemitem
321 class="username">root</systemitem> user:
322 </para>
323
[f2cedb8]324<screen role="root" revision="sysv"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF"
[9fa25aa]325<literal># Begin /etc/pam.d/sddm
326
327auth requisite pam_nologin.so
328auth required pam_env.so
329
330auth required pam_succeed_if.so uid &gt;= 1000 quiet
331auth include system-auth
332
333account include system-account
334password include system-password
335
336session required pam_limits.so
337session include system-session
338
339# End /etc/pam.d/sddm</literal>
340EOF
[1def00f]341
[c6e23bd]342cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF"
[9fa25aa]343<literal># Begin /etc/pam.d/sddm-autologin
344
345auth requisite pam_nologin.so
346auth required pam_env.so
347
348auth required pam_succeed_if.so uid &gt;= 1000 quiet
349auth required pam_permit.so
350
351account include system-account
352
353password required pam_deny.so
354
355session required pam_limits.so
356session include system-session
357
358# End /etc/pam.d/sddm-autologin</literal>
359EOF
[1def00f]360
[9fa25aa]361cat &gt; /etc/pam.d/sddm-greeter &lt;&lt; "EOF"
362<literal># Begin /etc/pam.d/sddm-greeter
363
364auth required pam_env.so
365auth required pam_permit.so
366
367account required pam_permit.so
368password required pam_deny.so
369session required pam_unix.so
370-session optional pam_systemd.so
371
[f2cedb8]372# End /etc/pam.d/sddm-greeter</literal>
373EOF</userinput></screen>
374
375<screen role="root" revision="systemd"><userinput>cat &gt; /etc/pam.d/sddm &lt;&lt; "EOF" &amp;&amp;
376<literal># Begin /etc/pam.d/sddm
377
378auth requisite pam_nologin.so
379auth required pam_env.so
380
[8ca9229]381auth required pam_succeed_if.so uid &gt;= 1000 quiet
[f2cedb8]382auth include system-auth
383
384account include system-account
385password include system-password
386
387session required pam_limits.so
388session include system-session
389
390# End /etc/pam.d/sddm</literal>
391EOF
392
393cat &gt; /etc/pam.d/sddm-autologin &lt;&lt; "EOF" &amp;&amp;
394<literal># Begin /etc/pam.d/sddm-autologin
395
396auth requisite pam_nologin.so
397auth required pam_env.so
398
[8ca9229]399auth required pam_succeed_if.so uid &gt;= 1000 quiet
[f2cedb8]400auth required pam_permit.so
401
402account include system-account
403
404password required pam_deny.so
405
406session required pam_limits.so
407session include system-session
408
409# End /etc/pam.d/sddm-autologin</literal>
410EOF
411
412cat &gt; /etc/pam.d/sddm-greeter &lt;&lt; "EOF"
413<literal># Begin /etc/pam.d/sddm-greeter
414
415auth required pam_env.so
416auth required pam_permit.so
417
418account required pam_permit.so
419password required pam_deny.so
420session required pam_unix.so
421-session optional pam_systemd.so
422
[9fa25aa]423# End /etc/pam.d/sddm-greeter</literal>
424EOF</userinput></screen>
425
426 </sect3>
427
[f2cedb8]428 <sect3 id="sddm-init" revision="sysv">
[9fa25aa]429 <title>Starting sddm</title>
430
431 <para>
[d09eb9b]432 If the sddm bootscript has been installed, start sddm by running, as the
[1def00f]433 <systemitem class="username">root</systemitem> user:
[9fa25aa]434 </para>
435
436<screen role="root"><userinput>/etc/rc.d/init.d/sddm start</userinput></screen>
437
438 <para>
[395be1c]439 By convention, X should be executed at runlevel 5, consequently, the
[1def00f]440 same is true for <application>sddm</application>. However, LFS default
441 runlevel is 3. Changing to runlevel 5, from a console terminal, as
442 <systemitem class="username">root</systemitem> user, starts the
443 <command>sddm</command> bootscript, bringing up the greeter screen:
[9fa25aa]444 </para>
445
446<screen role="root"><userinput>init 5</userinput></screen>
447
448 <para>
[1def00f]449 In order to permanently set the default to 5, starting the
450 <command>sddm</command> greeter screen automatically, modify
451 <filename>/etc/inittab</filename>. As the <systemitem
452 class="username">root</systemitem> user:
[9fa25aa]453 </para>
454
455<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
456sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
457
458 </sect3>
459
[395be1c]460 <sect3 id="sddm-sessions">
461 <title>Available Sessions</title>
462
463 <para>
464 The greeter offers a list of available sessions,
465 depending on the Window Managers and Desktop Environments installed. The
[5ee1266]466 list includes sessions which have a corresponding
[395be1c]467 <filename>.desktop</filename> file installed under
468 <filename class="directory">/usr/share/xsessions</filename>. Most of the
469 Window Managers and Desktop Environments automatically provide those
470 files, but if necessary, you may include a custom one.
471 </para>
472
473 </sect3>
474
475 <sect3 id="sddm-themes">
476 <title>Themes</title>
477
478 <para>
479 Four themes are installed at <filename class="directory">
480 /usr/share/sddm/themes</filename>:
481 circles,
482 elarun,
483 maldives, and
484 maui.
485 The default theme is <quote>maui</quote>. You can install other themes
486 in that directory. In order to change the theme, you need to edit
[6bb5b3b1]487 <filename>/etc/sddm.conf</filename>, using your preferred text editor,
488 to change the default <quote>maui</quote> theme, replacing
489 <quote>Current=maui</quote> by <quote>Current=<replaceable>&lt;insert
490 new theme name here&gt;</replaceable></quote>, e.g.
491 <quote>Current=maldives</quote>.
[395be1c]492 </para>
493
494 <para>
495 In order to see the theme without leaving the session, issue:
496 </para>
497
498<screen><userinput>sddm-greeter --test-mode --theme <replaceable>&lt;theme path&gt;</replaceable></userinput></screen>
499
500 </sect3>
501
502 <sect3 id="sddm-Issues">
503 <title>Known Issues</title>
504
505 <para>
[c64f201]506 This application works well, but there are issues. You find the
[395be1c]507 mainstream known issues at
[a65d410]508 <ulink url="https://github.com/sddm/sddm/issues">Issues</ulink>.
509 The BLFS development team have found some issues.
[395be1c]510 </para>
511
[eca7a58]512 <note>
513 <para>
514 In the next couple of paragraphs, due to a problem with sddm-greeter,
515 we mention how to define the keyboard used there. Notice that this is
516 also the keyboard that will be used in the X session, unless there is
517 a configuration in the Desktop Environment or in the Window Manager
518 overriding it, afterwards.
519 </para>
520 </note>
521
[395be1c]522 <para>
523 Keyboard selection: the greeter shows a double question mark or the
524 wrong keyboard. When you start to type the password or user name
[a65d410]525 (depending on the theme, only password), the right keyboard selection
526 magically appears. Optionally, a workaround is to include the keyboard
527 list in <command>/usr/share/sddm/scripts/Xsetup</command> script, as the
[395be1c]528 <systemitem class="username">root</systemitem> user:
529 </para>
530
[6d772cc]531<screen role="root"><userinput>echo 'setxkbmap <replaceable>"&lt;your keyboard comma separated list&gt;"</replaceable>' &gt;&gt; \
532 /usr/share/sddm/scripts/Xsetup</userinput></screen>
[a65d410]533
534 <para>
[eca7a58]535 E.g. <command>echo 'setxkbmap "fr,gb,br,us"' &gt;&gt;
[d09eb9b]536 /usr/share/sddm/scripts/Xsetup</command>. A very accurate definition
537 of the keyboard(s) is possible, for example: <command>echo 'setxkbmap
538 -model pc105 -layout br,us -variant abnt2,dvorak -keycodes evdev'
539 &gt;&gt; /usr/share/sddm/scripts/Xsetup</command>. See man setxkbmap.
[a65d410]540 </para>
[395be1c]541
542 <para>
543 Dircolors: the <filename>/etc/dircolors</filename> file is not
544 honoured. Particularly, the compressed files are not displayed in red
545 colour. If this happens, a workaround is to issue, as the
546 <systemitem class="username">root</systemitem> user:
547 </para>
548
549<screen role="root"><userinput>echo "source /etc/profile.d/dircolors.sh" &gt;&gt; /etc/bashrc</userinput></screen>
550
551 <para>
[d09eb9b]552 It has been reported that problems may happen with this package, if
553 Xorg is installed with a prefix other than <filename
554 class="directory">/usr</filename>. So far, BLFS development team has
555 not hit any problem, in this case.
[395be1c]556 </para>
557
558 </sect3>
559
[9fa25aa]560 </sect2>
561
562 <sect2 role="content">
563 <title>Contents</title>
564
565 <segmentedlist>
566 <segtitle>Installed Programs</segtitle>
567 <segtitle>Installed Libraries</segtitle>
568 <segtitle>Installed Directories</segtitle>
569
570 <seglistitem>
571 <seg>
572 sddm and sddm-greeter
573 </seg>
574 <seg>
575 None
576 </seg>
577 <seg>
578 $QT5DIR/qml/SddmComponents,
[1def00f]579 /usr/share/sddm, and
[9fa25aa]580 /var/lib/sddm
581 </seg>
582 </seglistitem>
583 </segmentedlist>
584
585 <variablelist>
586 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
587 <?dbfo list-presentation="list"?>
588 <?dbhtml list-presentation="table"?>
589
590 <varlistentry id="sddm-prog">
591 <term><command>sddm</command></term>
592 <listitem>
593 <para>
594 is a display and login manager based on
[1def00f]595 <application>Qt</application> libraries.
[9fa25aa]596 </para>
597 <indexterm zone="sddm sddm-prog">
598 <primary sortas="b-sddm">sddm</primary>
599 </indexterm>
600 </listitem>
601 </varlistentry>
602
603 <varlistentry id="sddm-greeter">
604 <term><command>sddm-greeter</command></term>
605 <listitem>
606 <para>
607 is an auxiliary process that displays the greeter,
[1def00f]608 a graphical user interface that performs user
609 authentication and initiates the selected window manager
610 or display environment.
[9fa25aa]611 </para>
612 <indexterm zone="sddm sddm-greeter">
613 <primary sortas="b-sddm-greeter">sddm-greeter</primary>
614 </indexterm>
615 </listitem>
616 </varlistentry>
617
618 </variablelist>
619
620 </sect2>
621
622</sect1>
Note: See TracBrowser for help on using the repository browser.