Elogind: Difference between revisions
Prabuanand (talk | contribs) (added Tip to verify working of elogind before proceeding) |
Prabuanand (talk | contribs) (moved Tip to beginning of the page) |
||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:elogind}}[https://github.com/elogind/elogind '''elogind'''] is extracted out of "logind" - systemd login manager to be a standalone daemon and provides [[Seat manager]] support by setting up necessary permissions for the desktop environment or window manager and handles poweroff, reboot, suspend and hibernate via '''loginctl''' commands. | {{DISPLAYTITLE:elogind}}[https://github.com/elogind/elogind '''elogind'''] is extracted out of "logind" - systemd login manager to be a standalone daemon and provides [[Seat manager]] support by setting up necessary permissions for the desktop environment or window manager and handles poweroff, reboot, suspend and hibernate via '''loginctl''' commands. | ||
{{Tip|If [[Setup-desktop]] script was used to install your desktop, elogind should already be running. If unsure, [[#Verify working of elogind|verify]] before you proceed further.}} | |||
== Prerequisites == | == Prerequisites == | ||
| Line 6: | Line 8: | ||
== Installation == | == Installation == | ||
[[#Verify working of elogind|Verify if Elogind is already installed ]] before you proceed further. | |||
{{Cmd|<nowiki># apk add elogind | {{Cmd|<nowiki># apk add elogind | ||
Revision as of 11:10, 11 August 2025
elogind is extracted out of "logind" - systemd login manager to be a standalone daemon and provides Seat manager support by setting up necessary permissions for the desktop environment or window manager and handles poweroff, reboot, suspend and hibernate via loginctl commands.
Prerequisites
- Install and configure Polkit as it is used for authentication by elogind.
Installation
Verify if Elogind is already installed before you proceed further.
# apk add elogind # rc-update add elogind # rc-service elogind start
Configuration
Hibernation
The command to trigger hibernation is:
# loginctl hibernate
For hibernation to work, you must have a swap partition. Check
# lsblk
for a partition with the mountpoint [SWAP].
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS nvme0n1 259:0 0 953.9G 0 disk ├─nvme0n1p1 259:1 0 200M 0 part /boot ├─nvme0n1p2 259:2 0 100G 0 part / ├─nvme0n1p3 259:3 0 805G 0 part /home └─nvme0n1p4 259:4 0 48.7G 0 part [SWAP]
Remember also to add a kernel parameter to resume, ie in /etc/default/grub :
Contents of /etc/default/grub
Note the "resume=" flag with the same partition that was marked as [SWAP].
The resume process can be speed up reducing the size of the hibernation images. See the documentation for image_size in the kernel docs for the details, but writing 0 to /sys/power/image_size should make the images as small as possible.
Power management
Edit the systemwide config file /etc/elogind/logind.conf to configure handling of power events, such as suspending the computer when power button is pressed:
Contents of /etc/elogind/logind.conf
Since loginctl requires privilege escalation, allow either the user to be part of wheel group or configure doas to allow running it as an unprivileged user.
Option1:
# optionally, allow $USER root access with password adduser $USER wheel
Option2:
Doas is used to grant permissions for suspend-to-RAM. In the doas config file /etc/doas.conf, set
permit nopass $USER as root cmd /bin/loginctl
After setting the above, suspend-to-RAM can be triggered by running
$ /bin/loginctl suspend
Troubleshooting
Verify working of elogind
When correctly configured, the loginctl command should not output No session available message.
When using a Desktop Environment or a Window Manager like Sway with SDDM, if the elogind login session is correctly configured, the following will appear:
~$ loginctl SESSION UID USER SEAT TTY c1 105 sddm seat0 c2 1000 User seat0 tty8 2 sessions listed.
No session available
If the output is No session available, such as in the case of launching Sway from tty, suspend and many other functionality will not work. The user then must configure a display manager.
It may also be necessary to install util-linux-login to enable the use of the elogind PAM module.