合上盖子时挂起

来自 Alpine Linux

本文介绍如何在合上笔记本电脑盖子时使其进入挂起状态。

acpid2

acpid2(由软件包 acpid 提供)是一个灵活且可扩展的守护进程,具有 Netlink 支持,用于传递 ACPI 事件。软件包安装的默认处理脚本 (/etc/acpi/handler.sh) 提供了开箱即用的合上盖子时挂起支持。我们建议同时安装 zzzacpid,以获得对 pre/post suspend hooks 等的支持。

  1. 安装 acpidzzz

    # apk add acpid zzz

  2. 启用并启动 acpid 守护进程

    # rc-update add acpid && rc-service acpid start

Busybox acpid

这可以通过 Busybox acpid 完成,并在 /etc/acpi/LID/00000080 中设置 hook

  1. 使用 zzz

    # apk add zzz

    /etc/acpi/LID/00000080 的内容

    #!/bin/sh exec zzz
  2. 或者使用 pm-utils

    # apk add pm-utils

    /etc/acpi/LID/00000080 的内容

    #!/bin/sh exec pm-suspend
  3. 或者使用原始变体:

    /etc/acpi/LID/00000080 的内容

    #!/bin/sh echo mem > /sys/power/state

使 hook 可执行

# chmod +x /etc/acpi/LID/00000080

应该就是这样了。为了确保 acpid 守护进程正在运行,请执行

# rc-service acpid start

elogind

使用 elogind 触发挂起,并使用 doas 授予普通用户此类权限。

安装 elogind

apk add elogind
rc-update add elogind
rc-service elogind start

现在合上盖子时挂起应该可以按预期工作了。

为了让普通用户触发挂起,请安装 doas

apk add doas

/etc/doas.conf 中配置 doas

permit nopass $USER as root cmd /bin/loginctl

现在你应该能够以普通用户的身份挂起计算机,使用可执行文件的完整路径。

参见