如何防止电源按钮直接关闭系统?


23

我重新安装了Ubuntu 13.10。当我按下电源按钮时,我的计算机立即关闭。在Ubuntu 13.04中,我有一个不错的菜单,可以在其中选择要执行的操作。现在不见了,我希望它回来。这是我/etc/acpi/powerbtn.sh 在pastebin中的东西。

我已经做了

gsettings set org.gnome.settings-daemon.plugins.power button-WORD 'interactive'

这里WORDhibernatepowersleepsuspend


1
我检查了一下/etc/acpi/powerbtn.sh,发现它什么也没做。我要说的菜单可由命令召唤gnome-session-quit --power-off
Wauzl

卢尔兹 希望我在尝试寻找该命令之前进行野鹅追捕之前先阅读您的评论。

我的答案对您没有用吗?

我支持您的回答,我相信它会奏效。我重新安装了整个系统。我也有其他问题。这(以前)为我解决了。
Wauzl 2013年

啊,k。刚刚看到您在没有评论的情况下被该站点拦住,以为通知可能丢失了。奇怪,完全重新安装固定了吗?您是否下载了最新的13.10?我做了一个全新的安装,新出现了这个问题。

Answers:


29

检查您的/etc/systemd/logind.conf文件。它看起来应该像这样:

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#Controllers=
#ResetControllers=cpu
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min

取消注释该行,#HandlePowerKey=poweroff并将值更改为ignore

然后使用以下命令重新启动登录:sudo restart systemd-logind或重新启动计算机。

编辑:如何创建新的acpi处理程序在中 创建一个新文件/etc/acpi/events/。该文件的内容应为:

event=<acpi_event_code>
action=<script_to_call>

<acpi_event_code>使用该acpi_listen工具获得的代码在哪里,是该<script_to_call>事件发生时希望调用的脚本的完整路径。

他们必须在13.10中进行了一些更改,因为与13.04相比,我的/ etc / accpi / events文件夹中的文件似乎很少。


这不会带回我心爱的菜单。现在我按下电源按钮时,它什么也没做。
Wauzl

如果实际上在按下电源按钮时执行了powerbtn.sh,那么如果X服务器正在运行并且gnome是您的桌面环境,则可以尝试使其执行shutdown菜单命令。查看export命令的输出以确定要测试的变量。如果完全不执行powerbtn.sh脚本,则可以通过运行acpi_listen并按电源按钮来尝试查看要绑定到哪个acpi事件。另外,gnome中也许有一个选项可以恢复电源菜单,但是我不确定,因为我上次使用gnome已经有一段时间了。
jeremija

我尝试了此操作,并且powerbtn.sh(可能)未执行,因为当我按下按钮时什么也没发生。该acpi_listen告诉我,该按钮触发事件ACPI。不幸的是,我的上下音量键也不起作用。也许这是相关的?
Wauzl 2013年

你可以尝试以下方法:grep "<acpi_event_code>" /etc/acpi/events/*这里<acpi_event_code>是你acpi_listen看到ACPI事件的代码。如果得到结果,请查看该文件并查看其调用的脚本的名称。如果未得到结果,则可以尝试在中添加新文件/etc/acpi/events/。有关更多详细信息,请参见编辑后的答案。
jeremija

确认这在Mac上适用于16.04 LTS。
本杰明·R

4

耶利米(Jeremijah)让我走上正确的道路,真是太好了!

/etc/systemd/logind.conf按照建议进行了编辑,但是我也这样做


1

如果上述解决方案对您不起作用,请 快速解决以下问题:

  • 安装xtrlock

该实用程序可以为您完成工作。尽管这可能无法回答问题,但是在我尝试过的许多解决方案(包括此页面中的解决方案)中,似乎没有一个有效

安装:

sudo apt install xtrlock 

要使用:xtrlock在命令行中键入。这将冻结鼠标,键盘

要解锁,请输入密码,然后按[Enter]


它还可以冻结您的电源按钮。

PS 此解决方案对于那些有孩子并因此而希望禁用电源按钮的用户特别有用。

xtrlock-锁定X显示,直到提供密码为止,使窗口可见。来源:http ://manpages.ubuntu.com/manpages/artful/man1/xtrlock.1x.html


请扩大您的答案。该应用程序在存储库中可用吗?您是如何通过命令行或通过Ubuntu软件中心安装它的?如果通过命令行,您使用了哪个命令?您是否配置了,如何配置?
user68186 '18

1

首先,您可以编辑键盘映射文件以更改电源按钮的行为,以将其分配给其他键

编辑文件:(/usr/share/X11/xkb/symbols/inet编辑POWR键)

然后,您将需要有效地禁用电源按钮。xinput是一个好方法

运行xinput --list电源按钮有其自己的输入...选择设备编号然后运行

xinput disable devnumber 就像是 xinput disable 8

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.