当我按下电源按钮时,Linux 进入 init 0(或干净关闭)。在过去(2003 年),我必须配置 acpid 才能为电源按钮提供关机功能。今天在 Slackware-current 上我做了:
猫/etc/apci/event/default
#event=button power.*
#action=/sbin/init 0
我看到该函数用 # 注释,这意味着禁用。那么问题是:当我按下电源按钮时,哪个守护进程提供了 init 0 函数?其他发行版可能有 systemd,但在 Slackware 上我们没有 systemd。即使电源按钮线被注释,它是否很酸?
答案1
找到解决方案。 Slackware 上的 acpi 电源按钮由 acpid 守护进程管理,很容易测试:我启动了一个禁用 acpid 的虚拟机,当我按下电源按钮时,没有任何反应。电源按钮 init-0-way 是默认配置的,在旧发行版上我必须手动编辑它,现在默认启用,但您可以配置 /etc/acpi/events/default (或您选择的其他名称)来配置这条“路”在另一个庄园里。例如,如果我想要与关闭命令不同的消息,我创建一个文件
vim /etc/acpi/events/myway
与那些内容
event=button/power
action=/etc/acpi/button.sh "%e"
最后我使用此内容创建脚本 /etc/acpi/button.sh
/sbin/shutdown -h now "My message"
我重新启动 acpid 并工作
/etc/rc.c/rc.acpid restart
答案2
我认为与系统现在发现在/etc/systemd/logind.conf
我只知道关于设置 - 电源 - 暂停和电源按钮与 RHEL/CentOS 7
当按下电源按钮时......暂停,关闭电源,不执行任何操作。
man logind.conf