Elogind
elogind is a login manager and provides support for
- setting up necessary permissions for the desktop environment or window manager
- handling poweroff, reboot, suspend and hibernate via loginctl command
Installation
# apk add elogind polkit-elogind
- rc-update add elogind
- rc-service elogind start
Set up a PAM login.
Hibernating
For
# loginctl hibernate
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].
Configuration
logind.conf
Edit /etc/elogind/logind.conf to configure handling of power events, such as suspending the computer when power button is pressed:
# sed -i 's|#HandlePowerKey=poweroff|HandlePowerKey=suspend|' /etc/elogind/logind.conf
Working with Desktop Environments
If using a Window Manager or Desktop Environment, such as Sway, the user must ensure that login session is correctly configured. When correctly configured, the loginctl
command should output the following:
~$ loginctl SESSION UID USER SEAT TTY c1 105 sddm seat0 c2 1000 User seat0 tty8 2 sessions listed.
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 such as greetd, SDDM or lightdm.