|
|
Line 1: |
Line 1: |
| This article explains how to make your laptop go to Suspend when closing the LID.
| | #REDIRECT [[Power management]] |
| | |
| == acpid2 ==
| |
| | |
| [https://sourceforge.net/projects/acpid2/ acpid2] (provided by package {{pkg|acpid}}) is a flexible and extensible daemon with Netlink support for delivering ACPI events.
| |
| The [https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/acpid/handler.sh default handler script] ({{path|/etc/acpi/handler.sh}}) installed with the package provides support for suspend on LID close out of the box.
| |
| We recommend installing {{pkg|zzz}} along with {{pkg|acpid}} to get support for pre/post suspend hooks etc.
| |
| | |
| # Install {{pkg|acpid}} and {{pkg|zzz}}: {{cmd|# apk add acpid zzz}}
| |
| # Enable and start the acpid daemon: {{cmd|# rc-update add acpid && rc-service acpid start}}
| |
| | |
| == Busybox acpid ==
| |
| | |
| This can be done via [[Busybox acpid]] with a hook in {{path|/etc/acpi/LID/00000080}}:
| |
| | |
| # '''with zzz:'''{{cmd|# apk add zzz}} {{cat|/etc/acpi/LID/00000080|#!/bin/sh
| |
| exec zzz
| |
| }}
| |
| # '''or with pm-utils:''' {{cmd|# apk add pm-utils}} {{cat|/etc/acpi/LID/00000080|#!/bin/sh
| |
| exec pm-suspend
| |
| }}
| |
| # '''or with raw variant''': {{cat|/etc/acpi/LID/00000080|#!/bin/sh
| |
| echo mem > /sys/power/state
| |
| }}
| |
| | |
| Make the hook executable:
| |
| {{cmd|# chmod +x /etc/acpi/LID/00000080}}
| |
| | |
| That should be it. To make sure that the acpid daemon is running, execute:
| |
| {{cmd|# rc-service acpid 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 =
| |
| * [https://github.com/jirutka/zzz zzz]
| |
| * [https://unix.stackexchange.com/questions/484550/pm-suspend-vs-systemctl-suspend pm-suspend vs systemd...]
| |
| * [https://wiki.archlinux.org/index.php?title=Pm-utils&oldid=498864 Archwiki pm-utils (archived page)]
| |
| | |
| [[Category:Power Management]]
| |
| [[category: Desktop]]
| |