我买了华硕 ROG G551JM 笔记本电脑,经证实兼容 Ubuntu。这台电脑的键盘设计不当,“Poweroff”键是一个普通键,放在了通常有“End”键的位置。这台电脑其他方面都很好,所以我买了它,并假设我能以某种方式“修复”这个问题,即将 PowerOff 按钮重新映射到“End”键上。
关机按钮错误(ASUS G551JM):
通常有一个«End»键(华硕 N56VZ):
“PowerOff”按钮事件由设备产生/dev/input/event2: Power Button
(如 所报告evtest
),代码为 116(示例行来自evtest
:Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
)
该键对于 X 服务器也是可见的,最终 Ubuntu 可以将按键识别为PowerOff
键并启动“再见用户 Adam...”半透明对话框,确认我确实关闭计算机的意愿。
问题是,将 PowerOff 按键与显示确认对话框的例程绑定的绑定在 dconf-editor 下不可见,而且我不知道在哪里可以找到它。
谁能告诉我在哪里可以更改(或删除)PowerOff 键的默认绑定???
这应该是件容易的事。
编辑于2016年9月21日:
有一种方法可以永久禁用对话框,请参阅如何修改电源按钮的选项?。我希望禁用电源按钮后,可以将其重新分配给其他按钮。
答案1
我能够在 Ubuntu 18.04 LTS 和 Ubuntu 16.04 LTS 上的 ASUS N751JK 上运行它(在两种情况下都使用 Unity 桌面环境进行测试,在 18.04 中使用 KDE Plasma 进行测试):
首先,设置动作“关闭电源”按钮至
nothing
。统一
就像在回答中提到的那样约翰诺·菲埃拉:
gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"
或者
sudo apt install dconf-tools
,使用dconf-editor
来改变org.gnome.settings-daemon.plugins.power
属性(如所述这里)。需要重新启动或注销才能使其正常工作。桌面环境
去“系统设置”, 选择“能源管理”选项卡“硬件”部分,然后选择“节能”标签,向下滚动,查找“按下电源按钮时”下拉列表并将其值更改为“没做什么”。 点击“申请”按钮使更改生效。
安装工具:
sudo apt install xdotool
这将允许我们触发关键事件。
下一步是触发“结尾”按下按键“关机”按钮按下。
Ubuntu 18.04
创建
/etc/acpi/events/power
包含以下内容的文件:event=button/power action=/etc/acpi/power.sh "%e"
并创建
/etc/acpi/power.sh
包含以下内容的脚本:#!/bin/sh xdotool key End
并添加执行权限:
sudo chmod +x /etc/acpi/power.sh
Ubuntu 16.04
用于处理的备份 ACPI 脚本“关闭电源”按钮的事件:
sudo cp /etc/acpi/powerbtn.sh /etc/acpi/powerbtn.sh.backup
然后编辑它,找到以下内容:
# If logind is running, it already handles power button presses; desktop # environments put inhibitors to logind if they want to handle the key # themselves.
并修改下面的代码,使其看起来像:
if pidof systemd-logind >/dev/null; then xdotool key End exit 0 fi
为了应用这些更改,应该运行:
sudo acpid restart
谢谢亚当可以
acpid
在用户登录时(系统启动时)自动重启。因此,sudo acpid restart
每次重启后,无需在终端中手动操作,只需添加以下行:session optional pam_exec.so /usr/sbin/acpid restart
到文件末尾
/etc/pam.d/common-session
。
答案2
这应该可以解决问题。
在终端输入:
gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"