如果您编辑文件/etc/systemd/logind.conf,您将看到有处理多个事件的规范,例如:
#HandleLidSwitch=suspend
Run Code Online (Sandbox Code Playgroud)
(就我而言)。如果您删除#,您将激活该操作。然后,您可以通过选择以下可用操作之一来更改它:ignore、poweroff、reboot、halt、suspend、hibernate、hybrid-sleep、lock、kexec。
还有许多其他等效键,用于处理所有常见事件。然后,您必须重新启动systemd-logind守护进程才能进行新配置。
在Arch Linux的Wiki页面还指出:
在当前版本的 systemd 中,Handle* 选项将应用于整个系统,除非它们被程序“禁止”(暂时关闭),例如桌面环境中的电源管理器。如果不采取这些禁止措施,您最终可能会遇到 systemd 挂起您的系统,然后当它唤醒另一个电源管理器再次挂起它的情况。
警告:目前,最新版本的 KDE 和 GNOME 中的电源管理器是唯一发出必要的“禁止”命令的电源管理器。在其他人这样做之前,如果您希望您的 ACPI 事件由 Xfce、acpid 或其他程序处理,您将需要将 Handle 选项设置为忽略。
请允许我添加一个(不请自来的,诚然)一点建议。我不知道您运行的是 Arch Linux、Fedora 还是 Red Hat(目前使用systemd的三个主要发行版),但是如果有疑问,Arch Wiki是一个极好的信息来源:解释清楚、最新、正确、详尽。既然你在任何情况下都在使用systemd,那么你应该尽可能地使用它,它真的很宝贵。