Suspend on LID close: Difference between revisions

From Alpine Linux
(prefix commands with #)
 
(2 intermediate revisions by 2 users not shown)
Line 28: Line 28:


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 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 =
= 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 16:44, 26 June 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 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 /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