更改 Linux 电源按钮的行为

sch*_*tyl 36 linux cat linux-mint power-management

我有一台用于文件服务器和其他东西的无头 linux mint 机器。几年来它对我来说一直很好用,但有一个问题 - 我的猫喜欢在它上面闲逛,当她爬上爬下时,她偶尔会踩到电源按钮并关闭机器。

是否有一种简单的方法可以更改电源按钮的行为,因此需要长时间按下(10 秒左右)或多次按下才能执行任何操作?

Sam*_*nes 52

在大多数情况下,terdon 的回答是正确的,但对于采用systemd-logind它的发行版,它处理电源事件而不是acpid. 在这些发行版上,添加或编辑此设置 /etc/systemd/logind.conf以禁用电源按钮:

HandlePowerKey=ignore
Run Code Online (Sandbox Code Playgroud)

要获取新设置,请重新启动登录

sudo systemctl restart systemd-logind
Run Code Online (Sandbox Code Playgroud)

在某些较旧的发行版上,当桌面会话处于活动状态时无法重新启动 logind,在这种情况下,您需要重新启动才能使用新设置。

  • 当您不使用 gnome(在我的情况下为 i3wm)时,它看起来像是 ubuntu 14.04 的工作解决方案。 (4认同)
  • 其实两者都有。ACPI 系统仍然有效,但如果检测到它,则将控制权交给 `logind`。这实际上使这个解决方案更好,因为如果 `logind` 失败,你可能希望电源按钮在默认情况下正确关闭。 (2认同)

ter*_*don 20

好吧,您可以做的一件事就是完全禁用电源按钮。就我个人而言,我只用它来打开我的机器,一旦机器打开就从不使用它。如果这对您来说是一个不错的解决方案,请编辑/etc/acpi/events/powerbtn-acpi-support

sudo nano /etc/acpi/events/powerbtn-acpi-support
Run Code Online (Sandbox Code Playgroud)

该文件应如下所示:

event=button[ /]power
action=/etc/acpi/powerbtn-acpi-support.sh
Run Code Online (Sandbox Code Playgroud)

要使电源按钮不执行任何操作,请将其更改为:

event=button[ /]power
action=
Run Code Online (Sandbox Code Playgroud)

然后重新启动acpi守护进程

sudo service acpid restart
Run Code Online (Sandbox Code Playgroud)

现在应该忽略您的电源按钮。

  • 非常感谢!我的小猫曾经关闭我的电脑!:) (2认同)

K7A*_*AAY 15

用胶带将纸板护罩贴在按钮上。拿三块瓦楞纸板,在每块纸板上切一个足够大的孔,让你的手指伸到按钮上。将它们粘在一起,对齐孔,然后将组件用胶带粘在按钮周围。大家欢呼我们的猫科动物霸主!

  • 参见:[Molly-guard](http://www.retrologic.com/jargon/M/molly-guard.html) (3认同)
  • 因为如果没有好的软件解决方案,这就是我正在考虑做的事情,所以我真的不能因为你的建议而责怪你...... (3认同)