我的键盘上有一个“电源按钮”,用于启用待机或休眠模式。我在“系统设置>键盘”、“系统>电源管理”、“compiz 配置>”或类似设置中找不到此键的映射(在 Unity 之前我可以找到它)。我如何禁用(而不是重新映射)此按钮?
我不想完全禁用休眠/睡眠模式,只是这个键经常被意外按下,而且很烦人。
答案1
禁用系统中的暂停按钮
gsettings set org.gnome.settings-daemon.plugins.power button-suspend "nothing"
恢复为默认值
gsettings set org.gnome.settings-daemon.plugins.power button-suspend "suspend"
禁用系统中的睡眠按钮
gsettings set org.gnome.settings-daemon.plugins.power button-sleep "nothing"
恢复为默认值
gsettings set org.gnome.settings-daemon.plugins.power button-sleep "hibernate"
禁用系统中的休眠按钮
gsettings set org.gnome.settings-daemon.plugins.power button-hibernate "nothing"
恢复为默认值
gsettings set org.gnome.settings-daemon.plugins.power button-hibernate "hibernate"
设置上述选项不会禁用系统中的功能,您仍然可以使用齿轮菜单来休眠/挂起,这只会禁用您计算机上的键盘和其他按钮。
答案2
Dconf Editor 是 Unity 中推荐的 gconf 编辑器替代品。您可以在软件中心获取 dconf,也可以sudo apt-get install dconf-tools
在终端中输入。
使用 Dconf 编辑器,导航到org
gnome
settings-daemon
plugins
power
。在那里,您可以更改睡眠按钮的功能,以及键盘上的许多其他按钮的功能。
答案3
从 Ubuntu 18.04 开始,Bruno Pereira 的回答似乎不再起作用了。
要禁用任何键,您需要获取其代码:
xmodmap -pk | grep -i sleep
对我来说,睡眠按钮有150
如下代码:
150 0x1008ff2f (XF86Sleep) 0x0000 (NoSymbol) 0x1008ff2f (XF86Sleep) 0x0000 (NoSymbol) 0x1008ff2f (XF86Sleep) 0x1008ff2f (XF86Sleep)
一旦您获得了密钥代码,您主要有两种方法可以自动禁用它。
对某些用户禁用
如果你只需要为一个或多个用户禁用它,你可以将此命令添加到启动应用程序,假设你的睡眠按钮的键码是150
:
xmodmap -e 'keycode 150='
如果用户注销,该按钮将再次启用。如果您想保持禁用状态,请尝试其他方法。
为每个用户禁用
每次启动后,该按钮将被禁用。您需要管理员权限才能执行此操作。编辑此文件:
sudo gedit /usr/share/X11/xkb/keycodes/evdev
我们需要编辑的行如下所示<SOMETHING> = <your_keycode>
。找到后,//
在开头添加注释。就我而言,我必须更改此行:
<I150> = 150; // #define KEY_SLEEP 142
变成这样:
// <I150> = 150; // #define KEY_SLEEP 142
笔记:使用这两种方法时,该按钮在启动或登录时仍会启用几秒钟。
资料来源:
答案4
这些对我都不起作用,我没有 Gnome,我使用 OpenBox,大多数人都知道它非常“简单”,运行着 Ubuntu 18.04 内核。
该解决方案应该适用于大多数系统。
转到此路径:
/etc/systemd
以 root 身份编辑:
logind.config
添加或取消注释这些行;
HandlePowerKey=ignore HandleSuspendKey=ignore HandleHibernateKey=ignore
我为什么要这样做,这个便宜又笨重的键盘在 F1-F12 键后面有“电源”、“睡眠”、“唤醒”功能,当我按 F12 键时,我按下了电源,系统关闭了,我的工作也丢失了!