Suspend on LID close: Difference between revisions
(mention archwiki page is an archive) |
(elogind) |
||
Line 29: | Line 29: | ||
That should be it. To make sure that the acpid daemon is running, execute: | That should be it. To make sure that the acpid daemon is running, execute: | ||
{{cmd|# rc-service acoud start}} | {{cmd|# rc-service acoud start}} | ||
== elogind == | |||
Use elogind to trigger suspend and use doas to grant normal user such permissions. | |||
Install elogind: | |||
apk add elogind | |||
rc-update add elogind | |||
rc-service elogind start | |||
Now suspend on lid close should be working as expected. | |||
For normal user to trigger suspend, install doas: | |||
apk add doas | |||
Configure doas in <code>/etc/doas.conf</code>: | |||
permit nopass $USER as root cmd /bin/loginctl | |||
You should now be able to suspend the computer as a normal user, using the full path to executable. | |||
= See Also = | = See Also = |
Revision as of 23:27, 19 February 2024
This article explains how to make your laptop go to Suspend when closing the LID.
acpid2
acpid2 (provided by package acpid) is a flexible and extensible daemon with Netlink support for delivering ACPI events. The default handler script (/etc/acpi/handler.sh) installed with the package provides support for suspend on LID close out of the box. We recommend installing zzz along with acpid to get support for pre/post suspend hooks etc.
- Install acpid and zzz:
# apk add acpid zzz
- Enable and start the acpid daemon:
# rc-update add acpid && rc-service acpid start
Busybox acpid
This can be done via Busybox acpid with a hook in /etc/acpi/LID/00000080:
- with zzz:
# apk add zzz
Contents of /etc/acpi/LID/00000080
#!/bin/sh exec zzz - or with pm-utils:
# apk add pm-utils
Contents of /etc/acpi/LID/00000080
#!/bin/sh exec pm-suspend - or with raw variant:
Contents of /etc/acpi/LID/00000080
#!/bin/sh echo mem > /sys/power/state
Make the hook executable:
# chmod +x /etc/acpi/LID/00000080
That should be it. To make sure that the acpid daemon is running, execute:
# rc-service acoud start
elogind
Use elogind to trigger suspend and use doas to grant normal user such permissions.
Install elogind:
apk add elogind rc-update add elogind rc-service elogind start
Now suspend on lid close should be working as expected.
For normal user to trigger suspend, install doas:
apk add doas
Configure doas in /etc/doas.conf
:
permit nopass $USER as root cmd /bin/loginctl
You should now be able to suspend the computer as a normal user, using the full path to executable.