防止PC关闭电源按钮


9

我正在构建供公众使用的嵌入式PC和BeagleBords ARM。他们分别运行Ubuntu 13.04和手动组装的Linux。有没有一种方法可以防止在按“关机”按钮时关闭它们(如果不是键盘,请关闭它们)?当然可以,我可以用硬件完成。我只喜欢软件解决方案。如果有人可以肯定地说“这是不可能的”,那也是一个有用的答案。

结果:好的,我理解了。一个可以防止按下时关机,但不能长时间按下。需要时,我将必须进行硬件开关以关闭电源按钮。


您是否需要防止故意或意外按键?请注意,通常还有其他重启或关闭系统的方法,包括Magic SysReq(可以禁用)并切换到TTY,然后使用Ctrl-Alt-Delete重启。
Lekensteyn

user173876提到的某些东西(在非答案的答案,我们删除),可能值得考虑:我有几个时间遇到的情况(在GIMP操作过程中我的情况)时,所有的屏幕发射器和键盘变得反应迟钝,包括CTL-的Alt T,Alt-F1 ... F6,Ctl-Alt-Del,Ctl-Alt-BkSp,唯一的办法是使用电源按钮关闭/重新启动。删除此功能可能会使您不得不卸下电池和/或拉电源线。或用锤子砸碎。
伊莱亚·卡根

Answers:


3

您可以在终端中使用next命令:

sudo chmod -x /sbin/shutdown

如果你想重新启用,使用+x,而不是-x在相同的命令。

无论如何,通过按住电源按钮几秒钟,上述解决方案将无法工作,我认为您不会找到适用于这种情况的软件解决方案。


您应该使用dpkg-statoverride来通过upstart升级使权限保持不变。范例:sudo dpkg-statoverride --add root root 0644 /sbin/shutdown。但是必须注意,删除执行权限会破坏该程序所有用户(包括poweroffhalt)的关闭选项。
Lekensteyn

3

是不可能的。您需要使公众远离电源开关,就像您需要防止公众从墙壁上拉扯电源线或抓住整台机器并随身带走电源一样。


我不相信这是不可能的。该软件负责启动关机。否则,您的桌面将如何有机会显示关闭菜单或正常终止程序?
Lekensteyn

@Lekensteyn,不是在按住按钮4秒钟时才出现的。
psusi

五秒钟,不是吗?这确实是一个不可替代的开关,但是一旦按下(...并立即释放它)关闭按钮,ACPI便对其进行了处理,这意味着可以对其进行拦截和忽略。不过,您是正确的,OP可能正在考虑故意尝试关闭系统。
Lekensteyn

2

你需要改变...

/etc/acpi/powerbtn.sh

并注释掉这一行(我已经添加了#)...

#/sbin/shutdown -h now "Power button pressed"
  • 这只会影响电源按钮,而不会影响菜单中的关机。
  • 但还要注意错误1124149,该错误声称由于从/ usr / bin / qdbus移至/ usr / lib / i386-linux-gnu / qt4 / bin / qdbus,它可能并不总是有效(该错误还会影响Ubuntu)。

该解决方案对我的系统没有任何影响。
RaduRădeanu13年

这将是@RaduRădeanu的错误:)它可以在工作的12.10上工作;而且也不在我家里的机器上(13.04)。因此,在此期间请使用Radu的方法,但这可能还会影响键盘上的其他按钮。
Rinzwind

这不会停止按住电源按钮4秒钟;)
psusi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.