Suspend on LID close: Difference between revisions

From Alpine Linux
(prefix commands with #)
(elogind)
 
(One intermediate revision by one other user not shown)
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 =
* [https://github.com/jirutka/zzz zzz]
* [https://github.com/jirutka/zzz zzz]
* [https://unix.stackexchange.com/questions/484550/pm-suspend-vs-systemctl-suspend pm-suspend vs systemd...]
* [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 pm-utils (arch wiki)]
* [https://wiki.archlinux.org/index.php?title=Pm-utils&oldid=498864 Archwiki pm-utils (archived page)]


[[Category:Power Management]]
[[Category:Power Management]]
[[category: Desktop]]
[[category: Desktop]]

Latest 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.

  1. Install acpid and zzz:

    # apk add acpid zzz

  2. 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:

  1. with zzz:

    # apk add zzz

    Contents of /etc/acpi/LID/00000080

    #!/bin/sh exec zzz
  2. or with pm-utils:

    # apk add pm-utils

    Contents of /etc/acpi/LID/00000080

    #!/bin/sh exec pm-suspend
  3. 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.

See Also