elogind-241.3
Introduction to elogind
elogind is the systemd project's "logind", extracted out to
be a standalone daemon. It integrates with Linux-PAM-1.3.1 to know the set of users that
are logged in to a system and whether they are logged in
graphically, on the console, or remotely. Elogind exposes this information via the
standard org.freedesktop.login1 D-Bus interface, as well as through the file
system using systemd's standard /run/systemd
layout.
This package is known to build and work properly using an LFS-9.0
platform.
Package Information
elogind Dependencies
Required
dbus-1.12.16
Recommended
docbook-xml-4.5, docbook-xsl-1.79.2, and libxslt-1.1.33 (to build the man pages),
Linux-PAM-1.3.1, and Polkit-0.116
(runtime)
Optional
For the tests: lxml-4.4.1, gobject-introspection-1.60.2,
zsh-5.7.1, Valgrind-3.15.0, audit-userspace,
bash-completion,
kexec,
and SELinux
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/elogind
Kernel
Configuration
Enable the following options in the kernel configuration and
recompile the kernel if necessary:
General setup --->
[*] Control Group support [CONFIG_CGROUPS]
File systems --->
[*] Inotify support for userspace [CONFIG_INOTIFY_USER]
Pseudo filesystems --->
[*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]
Installation of elogind
Install elogind by running the
following commands:
mkdir build &&
cd build &&
meson --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
-Dcgroup-controller=elogind \
-Ddbuspolicydir=/etc/dbus-1/system.d \
.. &&
ninja
This package does not come with a test suite.
Now, as the root
user:
ninja install &&
ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd
Command Explanations
-Dcgroup-controller=elogind
: This
switch ensures that elogind is
selected as the cgroup controller, even if booted with another
running cgroup controller.
-Ddbuspolicydir=/etc/dbus-1/system.d
:
This switch sets the location of the D-Bus policy directory.
ln -s ...: These
commands install symlinks so that software packages find systemd
compatible library and headers.
Configuring elogind
To automatically start elogind when the system is
rebooted, install the /etc/rc.d/init.d/mountcgroupfs
and /etc/rc.d/init.d/elogind
bootscripts from the
blfs-bootscripts-20190609 package.
make install-elogind
Note that this boot script only starts the system-wide elogind daemon. Each user will also need to
register a user session using Linux-PAM at login. The /etc/pam.d/system-session
file needs to be
modified and a new file needs to be created in order for
elogind to work
correctly. Run the following commands as the root
user:
cat >> /etc/pam.d/system-session << "EOF" &&
# Begin elogind addition
session required pam_loginuid.so
session optional pam_elogind.so
# End elogind addition
EOF
cat > /etc/pam.d/elogind-user << "EOF"
# Begin /etc/pam.d/elogind-user
account required pam_access.so
account include system-account
session required pam_env.so
session required pam_limits.so
session required pam_unix.so
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
session optional pam_elogind.so
auth required pam_deny.so
password required pam_deny.so
# End /etc/pam.d/elogind-user
EOF
Contents
Installed Programs:
busctl, elogind-inhibit, and
loginctl
Installed Library:
libelogind.so
Installed Directories:
/etc/elogind, /usr/include/elogind, and
/usr/share/doc/elogind-241.3
Short Descriptions
busctl
|
is used to introspect and monitor the D-Bus bus.
|
elogind-inhibit
|
is used to execute a program with a shutdown, sleep or
idle inhibitor lock taken.
|
loginctl
|
is used to introspect and control the state of the
elogind Login Manager.
|
libelogind.so
|
is the main elogind utility library.
|
Last updated on 2019-08-20 12:09:08 -0700