source: general/sysutils/elogind.xml@ 398b4239

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.0 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 398b4239 was 398b4239, checked in by Ken Moffat <ken@…>, 5 years ago

Attempt to provide the required kernel config choices for elogind. Please test, on a previous kernel I tohught I also needed CONFIG_MEMCFG but with 5.2.8 I'm running successfully without that.

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

  • Property mode set to 100644
File size: 10.2 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 "dbfebba271609fb5ea63073e2999466e">
10 <!ENTITY elogind-size "1.3 MB">
11 <!ENTITY elogind-buildsize "47 MB">
12 <!ENTITY elogind-time "0.2 SBU">
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 &lfs90_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]</literal></screen>
131
132 <indexterm zone="elogind elogind-kernel">
133 <primary sortas="d-elogind">elogind</primary>
134 </indexterm>
135 </sect2>
136
137 <sect2 role="installation">
138 <title>Installation of elogind</title>
139
140 <para>
141 Install <application>elogind</application> by running the following
142 commands:
143 </para>
144
145<screen><userinput>mkdir build &amp;&amp;
146cd build &amp;&amp;
147
148meson --prefix=/usr \
149 --sysconfdir=/etc \
150 --localstatedir=/var \
151 -Dcgroup-controller=elogind \
152 -Ddbuspolicydir=/etc/dbus-1/system.d \
153 .. &amp;&amp;
154ninja</userinput></screen>
155
156 <para>
157 This package does not come with a test suite.
158 </para>
159
160 <para>
161 Now, as the <systemitem class="username">root</systemitem> user:
162 </para>
163
164<screen role="root"><userinput>ninja install &amp;&amp;
165ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &amp;&amp;
166ln -sfvn elogind /usr/include/systemd</userinput></screen>
167
168 </sect2>
169
170 <sect2 role="commands">
171 <title>Command Explanations</title>
172
173 <para>
174 <parameter>-Dcgroup-controller=elogind</parameter>: This switch ensures
175 that <application>elogind</application> is selected as the cgroup
176 controller, even if booted with another running cgroup controller.
177 </para>
178
179 <para>
180 <parameter>-Ddbuspolicydir=/etc/dbus-1/system.d</parameter>: This switch
181 sets the location of the <application>D-Bus</application> policy
182 directory.
183 </para>
184
185 <para>
186 <command>ln -s ...</command>: These commands install symlinks so that
187 software packages find systemd compatible library and headers.
188 </para>
189
190 </sect2>
191
192 <sect2 role="configuration">
193 <title>Configuring elogind</title>
194
195 <para revision="sysv">
196 To automatically start <command>elogind</command> when the
197 system is rebooted, install the
198 <filename>/etc/rc.d/init.d/mountcgroupfs</filename> and
199 <filename>/etc/rc.d/init.d/elogind</filename> bootscripts from the
200 <xref linkend="bootscripts"/> package.
201 </para>
202
203 <indexterm zone="elogind elogind">
204 <primary sortas="f-elogind">elogind</primary>
205 </indexterm>
206
207<screen role="root"><userinput>make install-elogind</userinput></screen>
208
209 <para>
210 Note that this boot script only starts the system-wide
211 <application>elogind</application> daemon. Each user will also need to
212 register a user session using <application>Linux-PAM</application> at
213 login. The <filename>/etc/pam.d/system-session</filename> file needs to
214 be modified and a new file needs to be created in order for
215 <command>elogind</command> to work correctly. Run the following
216 commands as the <systemitem class="username">root</systemitem> user:
217 </para>
218
219<screen role="root"><userinput>cat &gt;&gt; /etc/pam.d/system-session &lt;&lt; "EOF" &amp;&amp;
220<literal># Begin elogind addition
221
222session required pam_loginuid.so
223session optional pam_elogind.so
224
225# End elogind addition</literal>
226EOF
227cat &gt; /etc/pam.d/elogind-user &lt;&lt; "EOF"
228<literal># Begin /etc/pam.d/elogind-user
229
230account required pam_access.so
231account include system-account
232
233session required pam_env.so
234session required pam_limits.so
235session required pam_unix.so
236session required pam_loginuid.so
237session optional pam_keyinit.so force revoke
238session optional pam_elogind.so
239
240auth required pam_deny.so
241password required pam_deny.so
242
243# End /etc/pam.d/elogind-user</literal>
244EOF</userinput></screen>
245
246 </sect2>
247
248 <sect2 role="content" revision="sysv">
249 <title>Contents</title>
250
251 <segmentedlist>
252 <segtitle>Installed Programs</segtitle>
253 <segtitle>Installed Library</segtitle>
254 <segtitle>Installed Directories</segtitle>
255
256 <seglistitem>
257 <seg>
258 busctl,
259 elogind-inhibit, and
260 loginctl
261 </seg>
262 <seg>
263 libelogind.so
264 </seg>
265 <seg>
266 /etc/elogind,
267 /usr/include/elogind, and
268 /usr/share/doc/elogind-&elogind-version;
269 </seg>
270 </seglistitem>
271 </segmentedlist>
272
273 <variablelist>
274 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
275 <?dbfo list-presentation="list"?>
276 <?dbhtml list-presentation="table"?>
277
278 <varlistentry id="busctl">
279 <term><command>busctl</command></term>
280 <listitem>
281 <para>
282 is used to introspect and monitor the D-Bus bus.
283 </para>
284 <indexterm zone="elogind busctl">
285 <primary sortas="b-busctl">busctl</primary>
286 </indexterm>
287 </listitem>
288 </varlistentry>
289
290 <varlistentry id="elogind-inhibit">
291 <term><command>elogind-inhibit</command></term>
292 <listitem>
293 <para>
294 is used to execute a program with a shutdown, sleep or idle
295 inhibitor lock taken.
296 </para>
297 <indexterm zone="elogind elogind-inhibit">
298 <primary sortas="b-elogind-inhibit">elogind-inhibit</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry id="loginctl">
304 <term><command>loginctl</command></term>
305 <listitem>
306 <para>
307 is used to introspect and control the state of the elogind Login
308 Manager.
309 </para>
310 <indexterm zone="elogind loginctl">
311 <primary sortas="b-loginctl">loginctl</primary>
312 </indexterm>
313 </listitem>
314 </varlistentry>
315
316 <varlistentry id="libelogind">
317 <term><filename class="libraryfile">libelogind.so</filename></term>
318 <listitem>
319 <para>
320 is the main elogind utility library.
321 </para>
322 <indexterm zone="elogind libelogind">
323 <primary sortas="c-libelogind">libelogind.so</primary>
324 </indexterm>
325 </listitem>
326 </varlistentry>
327
328 </variablelist>
329
330 </sect2>
331
332</sect1>
333
Note: See TracBrowser for help on using the repository browser.