通过电源按钮正常关机

通过电源按钮正常关机

我希望能够通过按电源按钮关闭我的 CentOS 7 机器。由于它不能开箱即用,我尝试了以下方法:

yum -y install acpid
service acpid start
chkconfig acpid on

不幸的是没有效果,可能是因为这仅对 CentOS 6.x 有效。有谁知道如何通过按电源按钮启用关机功能?

答案1

RHEL 7 以及 Centos 7 已从 System V (SysV) 启动脚本和运行级别切换到 systemd。因此,激活 acpid 的命令应该是:

systemctl start acpid
systemctl enable acpid

答案2

我也有这个问题。

本质上,您将在日志中看到什么(如果 systemd 配置正确,以上任一方法都可以工作 - systemd 会为您转换旧的“服务”命令......至少在 CentOS7 中)

Nov 20 11:12:06 localhost systemd-logind: Power key pressed.
Nov 20 11:12:06 localhost systemd: SELinux policy denies access

因此,您需要继续访问 /var/log/audit/audit.log,您将看到如下内容:

init_t:s0 msg='avc:  denied  { start } for auid=-1 uid=0 gid=0 path="/usr/lib/systemd/system/poweroff.target" scontext=system_u:system_r:apmd_t:s0 tcontext=system_u:object_r:power_unit_file_t:s0 tclass=service  exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'

好的,为什么系统配置文件不再位于 /etc 中?不管怎样,我离题了……关于 /usr/lib/systemd/system/poweroff.target 的东西关闭了?:顺便说一句,我真的很喜欢新的自动化文件现在如何混淆自己……现在没有真正的方向可走...这个文件完全没用。这些选项的含义是什么?我猜测一些 PFY 管理员的工作保障......以及我的更多加班时间。 (一定是另一个“功能”!)

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Power-Off
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-poweroff.service
After=systemd-poweroff.service
AllowIsolate=yes

[Install]
Alias=ctrl-alt-del.target

好的,至此,我们已经有了足够的信息来真正寻找答案。问题在于 SELinux 策略阻止 systemd 关闭系统。

等等瞧!有一个错误反对它: https://bugzilla.redhat.com/show_bug.cgi?id=1224211

本质上,大约在评论 #60 左右,他们发现存在政策错误。它将通过定期更新来修复,但我只想安装“everything DVD”中的软件包。所以,看来我必须等到 CentOS 人员发布 7.2 才能解决这个问题!

相关内容