3

我在 thinkpad x230i 记事本上安装了全新的 Ubuntu 17.10。我将登录方法更改为 x11org gnome。登录后,如果我按下 Super-F1,将启动 gnome 帮助窗口。我想将此键盘快捷键更改为其他 GUI 操作。我做了什么:

  1. 我尝试通过设置-设备-键盘-自定义快捷方式更改它,但未能将 Super-F1 分配给自定义快捷方式项。

  2. 我也厌倦了通过使用路径 /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding 编辑 dconf Editor 中的自定义快捷方式项来重置它,尽管可以成功更改值,当我按下 Super-F1,仍然可以启动 gnome 帮助。

  3. 即使我删除了 gnome 帮助,快捷方式 Super-F1 仍然无法分配给其他 GUI 操作。

4

1 回答 1

1

<Super>+<F1>简短的回答是:在 Gnome v3.21.9x+ 中无法重新分配。

长答案:从 Gnome 版本 3.21.90 开始,将 Super+F1硬编码gnome-settings-daemon分配给 Gnome 帮助,因此如果不重新编译(更具体地说,是gsd-media-keys插件),您无法重新分配此组合键。

根据 gnome-settings-daemon更改日志

===============
Version 3.21.90
===============
...
 Media keys:
    - Add Super+F1 as a hardcoded shortcut for launching Help
...


查看源代码(文件.../plugins/media-keys/shortcuts-list.h)你会发现:

...
  { HELP_KEY, NULL, N_("Help"), "<Super>F1", GSD_ACTION_MODE_LAUNCHER },
...

我能够成功地重新编译 gnome-settings-daemon 二进制文件,但我花了几个小时才把一切都弄好。我写了一个详细的步骤,但这里有一个总结:

  1. 下载并安装Gnome Builder

  2. “克隆”官方 repo 在https://gitlab.gnome.org/GNOME/gnome-settings-daemon

  3. 转到您下载 repo 的目录,并检查您的特定版本git checkout tag/GNOME_SETTINGS_DAEMON_3_28_1(确保这与您的版本匹配;检查您正在运行的 Gnome 版本gnome-shell --version,以及所有可用的标签git tag -l)。

  4. 安装依赖项:

    apt install libcolord-dev, \
                libgeocode-glib-dev, \
                gnome-desktop3-data, \
                libgweather-3-dev, \
                libcanberra-gtk3-dev, \
                libgeoclue-2-dev, \
                libnotify-dev, \
                libpulse-mainloop-glib0, \
                libpulse-dev, \
                gobject-introspection, \
                libupower-glib-dev, \
                libpolkit-gobject-1-dev, \
                libasound2-dev, \
                libgudev-1.0-dev, \
                libwacom-dev, \
                libnss3-dev, \
                libcups2-dev, \
                libnm-dev
    
  5. 修补文件./gnome-settings-daemon/plugins/media-keys/shortcuts-list.h,通过在 Super+F1 行前添加注释(在第 69 行附近,对于 v3.28.x)

  6. 使用 Builder 重新编译

  7. 在您的系统中找到已编译的gsd-media-keys二进制文件并替换(不要忘记在继续之前制作原始文件的副本,以防您需要恢复)

  8. 注销或重新启动,您就完成了!

现在您可以正常地将 Super+F1 键重新分配给您想要的任何东西。

于 2018-06-04T02:30:10.190 回答