如何禁用键盘上的睡眠按钮?

Kil*_*nDS 48 shortcut-keys power-management

我的键盘上有一个“电源按钮”,可以启用待机或休眠。我在“系统设置>键盘”、“系统>电源管理”、“compiz config>”或类似(我可以在统一之前找到它的地方)中的任何地方都找不到此键的映射。如何禁用(不重新映射)这个按钮?

我不想完全禁用休眠/睡眠,只是这个键被意外按下了很多,它变得很烦人。

Bru*_*ira 52

禁用系统中的挂起按钮

gsettings set org.gnome.settings-daemon.plugins.power button-suspend "nothing"
Run Code Online (Sandbox Code Playgroud)

恢复到默认值

gsettings set org.gnome.settings-daemon.plugins.power button-suspend "suspend"
Run Code Online (Sandbox Code Playgroud)

禁用系统中的睡眠按钮

gsettings set org.gnome.settings-daemon.plugins.power button-sleep "nothing"
Run Code Online (Sandbox Code Playgroud)

恢复到默认值

gsettings set org.gnome.settings-daemon.plugins.power button-sleep "hibernate"
Run Code Online (Sandbox Code Playgroud)

禁用系统中的休眠按钮

gsettings set org.gnome.settings-daemon.plugins.power button-hibernate "nothing"
Run Code Online (Sandbox Code Playgroud)

恢复到默认值

gsettings set org.gnome.settings-daemon.plugins.power button-hibernate "hibernate"
Run Code Online (Sandbox Code Playgroud)

设置上面的这些选项不会禁用系统中的功能,您仍然可以使用齿轮菜单来休眠/暂停,这只会禁用您计算机中可能具有的键盘和其他按钮。

  • 18.04 对我不起作用。我将所有 3 设置为“交互式”,但按下键盘上的“睡眠”按钮只会立即将我锁定。 (5认同)
  • 我针对 ubuntu gnome-control-center 键盘快捷键 GUI 提交了一个错误。它应该像其他键盘按钮一样管理这些按钮:https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1079190 (3认同)

Jam*_*mes 38

Dconf 编辑器是 Unity 的 gconf 编辑器的推荐替代品。您可以在软件中心或通过sudo apt-get install dconf-tools在终端中键入来获取 dconf 。

使用 Dconf 编辑器,导航到org gnome settings-daemon plugins power. 您可以在那里更改睡眠按钮以及键盘上的许多其他按钮的功能。

在此处输入图片说明

  • +1,本质上是已接受答案的 GUI 版本:),谢谢 (2认同)

小智 8

从 Ubuntu 18.04 开始,Bruno Pereira 的回答似乎不再有效。

要禁用任何键,您需要获取其代码

xmodmap -pk | grep -i sleep
Run Code Online (Sandbox Code Playgroud)

对我来说,睡眠按钮的代码150如您所见:

    150     0x1008ff2f (XF86Sleep)  0x0000 (NoSymbol)   0x1008ff2f (XF86Sleep)  0x0000 (NoSymbol)   0x1008ff2f (XF86Sleep)  0x1008ff2f (XF86Sleep)
Run Code Online (Sandbox Code Playgroud)

获得密钥代码后,您主要有两种方法可以自动禁用它。

对某些用户禁用

如果您只需要为一个或多个用户禁用它,您可以将此命令添加到Startup Applications,假设您的睡眠按钮的关键代码是150

xmodmap -e 'keycode 150='
Run Code Online (Sandbox Code Playgroud)

如果用户注销,该按钮将再次启用。如果您想保持禁用状态,请尝试其他方法。

为每个用户禁用

每次启动后该按钮将被禁用。为此,您将需要管理员权限。编辑此文件:

sudo gedit /usr/share/X11/xkb/keycodes/evdev
Run Code Online (Sandbox Code Playgroud)

我们将要编辑的行看起来像<SOMETHING> = <your_keycode>。找到后,//在开头添加评论。就我而言,我不得不改变这一点:

    <I150> = 150;   // #define KEY_SLEEP               142
Run Code Online (Sandbox Code Playgroud)

进入这个:

//  <I150> = 150;   // #define KEY_SLEEP               142
Run Code Online (Sandbox Code Playgroud)

注意:使用这两种方法,启动或登录时按钮仍将启用几秒钟。

资料来源:


Ed *_*nin 5

你也试过这个吗?

gsettings set org.gnome.settings-daemon.plugins.power button-suspend "nothing"
Run Code Online (Sandbox Code Playgroud)

我完成了链接问题中的所有 3 个,它为我解决了这个问题(12.04 上的 x86)。

编辑:这是一个可以完成所有 3 个命令的命令:

for x in button-{suspend,sleep,hibernate}; do 
  gsettings set org.gnome.settings-daemon.plugins.power $x "nothing";
done
Run Code Online (Sandbox Code Playgroud)