%general-entities; ]> $LastChangedBy$ $Date$ elogind-&elogind-version; elogind Introduction to elogind elogind is the systemd project's "logind", extracted out to be a standalone daemon. It integrates with 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. &lfs90_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &elogind-md5sum; Download size: &elogind-size; Estimated disk space required: &elogind-buildsize; Estimated build time: &elogind-time; elogind Dependencies Required Recommended , , and (to build the man pages), , and (runtime) Optional For the tests: , , , , audit-userspace, bash-completion, kexec, and SELinux User Notes: 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] elogind Installation of elogind First fix an issue with reading a session file: sed -e '/dirent-util/a #include "env-file.h"' \ -e '/sessions/{n;n;s/=.*$/= parse_env_file (NULL, p, "UID", \&s);/}' \ -i src/basic/cgroup-util.c 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 Each user will 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 Installed Library Installed Directories busctl, elogind-inhibit, and loginctl libelogind.so /lib/elogind, /etc/elogind, /usr/include/elogind, and /usr/share/doc/elogind-&elogind-version; Short Descriptions busctl is used to introspect and monitor the D-Bus bus. busctl elogind-inhibit is used to execute a program with a shutdown, sleep or idle inhibitor lock taken. elogind-inhibit loginctl is used to introspect and control the state of the elogind Login Manager. loginctl libelogind.so is the main elogind utility library. libelogind.so