source: general/sysutils/elogind.xml@ bc38b45

10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since bc38b45 was bc38b45, checked in by Pierre Labastie <pieere@…>, 11 months ago

tk-8.6.11.1
mesa-20.3.3
gptfdisk-1.0.6
cmake-3.19.3
Mako-1.1.4 (python module)
elogind-249.6.2

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

  • Property mode set to 100644
File size: 11.9 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 <!ENTITY elogind-download-http "https://github.com/elogind/elogind/archive/v&elogind-version;/elogind-&elogind-version;.tar.gz">
8 <!ENTITY elogind-download-ftp " ">
9 <!ENTITY elogind-md5sum "fb5d3baf179e5c62cb064b3657dde069">
10 <!ENTITY elogind-size "1.5 MB">
11 <!ENTITY elogind-buildsize "67 MB (with tests)">
12 <!ENTITY elogind-time "0.3 SBU (with parallelism=4)">
13]>
14
15<sect1 id="elogind" revision="sysv" xreflabel="elogind-&elogind-version;">
16 <?dbhtml filename="elogind.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>elogind-&elogind-version;</title>
24
25 <indexterm zone="elogind">
26 <primary sortas="a-elogind">elogind</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to elogind</title>
31
32 <para>
33 <application>elogind</application> is the
34 <application>systemd</application> project's "logind", extracted out to
35 be a standalone daemon. It integrates with <xref linkend="linux-pam"/>
36 to know the set of users that are logged in to a system and whether they
37 are logged in graphically, on the console, or remotely.
38 <application>Elogind</application> exposes this information via the
39 standard org.freedesktop.login1 <application>D-Bus</application>
40 interface, as well as through the file system using systemd's standard
41 <filename class="directory">/run/systemd</filename> layout.
42 </para>
43
44 &lfs10_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&elogind-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&elogind-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &elogind-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &elogind-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &elogind-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &elogind-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">elogind Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref role="first" linkend="dbus"/>
85 </para>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="DocBook"/>,
90 <xref linkend="docbook-xsl"/>, and
91 <xref linkend="libxslt"/> (to build the man pages),
92 <xref linkend="linux-pam"/>, and
93 <xref linkend="polkit" role="runtime"/> (runtime)
94 </para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional">
98 For the tests:
99 <xref linkend="lxml"/>,
100 <xref linkend="gobject-introspection"/>,
101 <xref linkend="zsh"/>,
102 <xref linkend="valgrind"/>,
103 <ulink url="https://github.com/linux-audit/audit-userspace">
104 audit-userspace</ulink>,
105 <ulink url="https://github.com/scop/bash-completion">
106 bash-completion</ulink>,
107 <ulink url="https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kexec/">
108 kexec</ulink>, and
109 <ulink url="http://www.selinuxproject.org/page/Main_Page">
110 SELinux</ulink>
111 </para>
112
113 <para condition="html" role="usernotes">User Notes:
114 <ulink url="&blfs-wiki;/elogind"/>
115 </para>
116 </sect2>
117
118 <sect2 role="kernel" id="elogind-kernel">
119 <title>Kernel Configuration</title>
120
121 <para>
122 Enable the following options in the kernel configuration and recompile the
123 kernel if necessary:
124 </para>
125
126<!-- Spaces are significant in <screen> sections -->
127<screen><literal>General setup ---&gt;
128 [*] Control Group support [CONFIG_CGROUPS]
129File systems ---&gt;
130 [*] Inotify support for userspace [CONFIG_INOTIFY_USER]
131 Pseudo filesystems ---&gt;
132 [*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]</literal></screen>
133
134 <para>
135 In addition, some tests need the userspace cryptographic kernel API, which
136 is enabled with:
137 </para>
138
139<screen><literal>-*- Cryptographic API ---&gt; [CONFIG_CRYPTO]
140 &lt;M/*&gt; Userspace cryptographic algorithm configuration [CONFIG_CRYPTO_USER]
141 &lt;M/*&gt; User-space interface for hash algorithms [CONFIG_CRYPTO_USER_API_HASH]</literal></screen>
142
143 <indexterm zone="elogind elogind-kernel">
144 <primary sortas="d-elogind">elogind</primary>
145 </indexterm>
146 </sect2>
147
148 <sect2 role="installation">
149 <title>Installation of elogind</title>
150<!--
151 <para>
152 First, fix a problem starting the package via pam:
153 </para>
154
155<screen><userinput>sed -i '/running/,+1s:^://:' src/login/pam_elogind.c</userinput></screen>
156-->
157 <para>
158 Install <application>elogind</application> by running the following
159 commands:
160 </para>
161
162<screen><userinput>mkdir build &amp;&amp;
163cd build &amp;&amp;
164
165meson --prefix=/usr \
166 -Dcgroup-controller=elogind \
167 -Ddbuspolicydir=/etc/dbus-1/system.d \
168 -Dman=auto \
169 .. &amp;&amp;
170ninja</userinput></screen>
171
172 <para>
173 To test the results, issue: <command>ninja test</command>. A few tests
174 are skipped if not run with <systemitem class="username">root</systemitem>
175 privileges.
176 </para>
177
178 <para>
179 Now, as the <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root"><userinput>ninja install &amp;&amp;
183ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &amp;&amp;
184ln -sfvn elogind /usr/include/systemd</userinput></screen>
185
186 </sect2>
187
188 <sect2 role="commands">
189 <title>Command Explanations</title>
190
191 <para>
192 <parameter>-Dcgroup-controller=elogind</parameter>: This switch ensures
193 that <application>elogind</application> is selected as the cgroup
194 controller, even if booted with another running cgroup controller.
195 </para>
196
197 <para>
198 <parameter>-Ddbuspolicydir=/etc/dbus-1/system.d</parameter>: This switch
199 sets the location of the <application>D-Bus</application> policy
200 directory.
201 </para>
202
203 <para>
204 <parameter>-Dman=auto</parameter>: The default value of this switch is
205 <emphasis>false</emphasis>. Setting it to <emphasis>auto</emphasis>
206 allows building and installing the man pages if the recommended
207 dependencies are installed.
208 </para>
209
210 <para>
211 <option>-Ddefault-kill-user-processes=false</option>: Configure whether
212 the processes of a user should be killed when the user logs out. The
213 default is <emphasis>true</emphasis>, but this defeats the traditional
214 use of <command>screen</command> or <command>tmux</command>. This can
215 also be changed in the configuration file (see below).
216 </para>
217
218 <para>
219 <command>ln -s ...</command>: These commands install symlinks so that
220 software packages find systemd compatible library and headers.
221 </para>
222
223 </sect2>
224
225 <sect2 role="configuration">
226 <title>Configuring elogind</title>
227
228 <sect3 id="elogind-config">
229 <title>Config File</title>
230 <para>
231 <filename>/etc/elogind/logind.conf</filename>
232 </para>
233
234 <indexterm zone="elogind elogind-config">
235 <primary
236 sortas="e-etc-elogind-logind.conf">/etc/elogind/logind.conf</primary>
237 </indexterm>
238 </sect3>
239
240 <sect3><title>Configuration Information</title>
241
242 <para>
243 The installed file <filename>/etc/elogind/logind.conf</filename>
244 contains all the possible options with their defaults, commented
245 out. You may wish to disable killing user processes when the user logs
246 out, by running, as the <systemitem class="username">root</systemitem>
247 user:
248 </para>
249
250<screen role="root"><userinput>sed -e '/\[Login\]/a KillUserProcesses=no' \
251 -i /etc/elogind/logind.conf</userinput></screen>
252
253 <para>
254 Each user will need to register a user session using
255 <application>Linux-PAM</application> at login. The
256 <filename>/etc/pam.d/system-session</filename> file needs to
257 be modified and a new file needs to be created in order for
258 <command>elogind</command> to work correctly. Run the following
259 commands as the <systemitem class="username">root</systemitem> user:
260 </para>
261
262<screen role="root"><userinput>cat &gt;&gt; /etc/pam.d/system-session &lt;&lt; "EOF" &amp;&amp;
263<literal># Begin elogind addition
264
265session required pam_loginuid.so
266session optional pam_elogind.so
267
268# End elogind addition</literal>
269EOF
270cat &gt; /etc/pam.d/elogind-user &lt;&lt; "EOF"
271<literal># Begin /etc/pam.d/elogind-user
272
273account required pam_access.so
274account include system-account
275
276session required pam_env.so
277session required pam_limits.so
278session required pam_unix.so
279session required pam_loginuid.so
280session optional pam_keyinit.so force revoke
281session optional pam_elogind.so
282
283auth required pam_deny.so
284password required pam_deny.so
285
286# End /etc/pam.d/elogind-user</literal>
287EOF</userinput></screen>
288
289 </sect3>
290 </sect2>
291
292 <sect2 role="content" revision="sysv">
293 <title>Contents</title>
294
295 <segmentedlist>
296 <segtitle>Installed Programs</segtitle>
297 <segtitle>Installed Library</segtitle>
298 <segtitle>Installed Directories</segtitle>
299
300 <seglistitem>
301 <seg>
302 busctl,
303 elogind-inhibit, and
304 loginctl
305 </seg>
306 <seg>
307 libelogind.so
308 </seg>
309 <seg>
310 /lib/elogind,
311 /etc/elogind,
312 /usr/include/elogind, and
313 /usr/share/doc/elogind-&elogind-version;
314 </seg>
315 </seglistitem>
316 </segmentedlist>
317
318 <variablelist>
319 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
320 <?dbfo list-presentation="list"?>
321 <?dbhtml list-presentation="table"?>
322
323 <varlistentry id="busctl">
324 <term><command>busctl</command></term>
325 <listitem>
326 <para>
327 is used to introspect and monitor the D-Bus bus.
328 </para>
329 <indexterm zone="elogind busctl">
330 <primary sortas="b-busctl">busctl</primary>
331 </indexterm>
332 </listitem>
333 </varlistentry>
334
335 <varlistentry id="elogind-inhibit">
336 <term><command>elogind-inhibit</command></term>
337 <listitem>
338 <para>
339 is used to execute a program with a shutdown, sleep or idle
340 inhibitor lock taken.
341 </para>
342 <indexterm zone="elogind elogind-inhibit">
343 <primary sortas="b-elogind-inhibit">elogind-inhibit</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="loginctl">
349 <term><command>loginctl</command></term>
350 <listitem>
351 <para>
352 is used to introspect and control the state of the elogind Login
353 Manager.
354 </para>
355 <indexterm zone="elogind loginctl">
356 <primary sortas="b-loginctl">loginctl</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="libelogind">
362 <term><filename class="libraryfile">libelogind.so</filename></term>
363 <listitem>
364 <para>
365 is the main elogind utility library.
366 </para>
367 <indexterm zone="elogind libelogind">
368 <primary sortas="c-libelogind">libelogind.so</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 </variablelist>
374
375 </sect2>
376
377</sect1>
378
Note: See TracBrowser for help on using the repository browser.