Session and Seat Management

Session and seat management is not necessary for every setup, but it can be used to safely create temporary runtime directories, provide access to hardware devices and multi-seat capabilities, and control system shutdown.

D-Bus

D-Bus is an IPC (inter-process communication) mechanism used by userspace software in Linux. D-Bus can provide a system bus and/or a session bus, the latter being specific to a user session.

  • To provide a system bus, you should enable the dbus service. This might require a system reboot to work properly.
  • To provide a session bus, you can start a given program (usually a window manager or interactive shell) with dbus-run-session(1). Most desktop environments, if launched through an adequate display manager, will launch a D-Bus session themselves.

Note that some software assumes the presence of a system bus, while other software assumes the presence of a session bus.

elogind

elogind(8) is a standalone version of systemd-logind, a service to manage user logins. This service provides necessary features for most desktop environments and Wayland compositors. It can also be one of the mechanisms for rootless Xorg. To make use of its features, install the elogind package and make sure the system D-Bus is enabled. You might need to log out and in again.

Troubleshooting

If you're having any issues with elogind, enable its service, as waiting for a D-Bus activation can lead to issues.

By default, elogind listens for and processes ACPI events related to lid-switch activation and presses of power, suspend and hibernate keys. This will conflict with the acpid(8) service if it is installed and enabled. Either disable acpid when enabling elogind or configure elogind to ignore ACPI events in logind.conf(5). There are several configuration options, all starting with the keyword Handle, that should be set to ignore to avoid interfering with acpid.