%general-entities; ]> elogind-&elogind-version; elogind Introduction to elogind elogind is the systemd project's "logind", extracted to be a standalone daemon. It integrates with to track all the users 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, and also through the file system using systemd's standard /run/systemd layout. &lfs113_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 (runtime), (required for Xorg), (runtime), , , and (all three to build the man pages) Optional , , (needed for tests), audit-userspace, bash-completion, kexec, and SELinux 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] In addition, some tests need the userspace cryptographic kernel API, which is enabled with: -*- Cryptographic API ---> [CONFIG_CRYPTO] Crypto core or helper ---> <M/*> Userspace cryptographic algorithm configuration [CONFIG_CRYPTO_USER] Userspace interface ---> <M/*> Hash algorithms [CONFIG_CRYPTO_USER_API_HASH] elogind Installation of elogind Install elogind by running the following commands: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dman=auto \ -Ddocdir=/usr/share/doc/elogind-&elogind-version; \ -Dcgroup-controller=elogind \ -Ddbuspolicydir=/etc/dbus-1/system.d && ninja To test the results, issue: ninja test. A few tests are skipped if not run with root privileges. Now, as the root user: ninja install && ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc && ln -sfvn elogind /usr/include/systemd Command Explanations -Ddocdir=/usr/share/doc/elogind-&elogind-version;: This is needed to install documentation in a versioned directory. -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. -Dman=auto: The default value of this switch is false. Setting it to auto allows building and installing the man pages if the recommended dependencies are installed. : The default value of this switch is false. Setting it to auto allows building and installing the html documentation if the recommended dependencies are installed. : Determines whether the processes of a user should be killed when the user logs out. The default is true, but this defeats the traditional use of screen or tmux. This can also be changed in the configuration file (see below). ln -s ...: These commands install symlinks so that software packages can find the systemd-compatible library and headers. Configuring elogind Config File /etc/elogind/logind.conf /etc/elogind/logind.conf Configuration Information The installed file /etc/elogind/logind.conf contains all the possible options with their defaults, commented out. You may wish to disable automatically killing user processes when the user logs out, by running, as the root user: sed -e '/\[Login\]/a KillUserProcesses=no' \ -i /etc/elogind/logind.conf 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 must 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 /usr/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