如何找出快捷方式组合上执行的命令/操作?

Min*_*Max 6 gnome xorg shortcut-keys dconf

我创建了一个自定义快捷方式并将其绑定shutter -s到它:

在此输入图像描述

然后我试图找出该命令的存储位置并检查设置dconf-editor。但没有关于shutter -s绑定命令和Shift+Print组合的信息:

在此输入图像描述

因此,问题是

  1. 有关按键绑定的完整信息存储在哪里?是否有一种方法可以说:这个组合键正在使用这个命令?例如,我想查看在印刷机上执行的默认屏幕截图命令Print
  2. 当我按键时会发生什么Print?这个按键是如何实现截图功能的呢?例如:
    • 有些人tty得到了这个钥匙
    • GNOME Shell 连接到 this tty,因此它获取密钥作为输入。
    • 然后 GNOME Shell 查看某个数据库(dconf?)并执行绑定到该Print键的命令。

我读过类似的问题,比如

但还没有找到我的问题的答案。

d1b*_*bro 10

好吧,在评论中反复讨论之后,我相信我找到了找到设置的正确方法:

它在https://wiki.ubuntu.com/Keybindings中进行了描述

要查找所有(系统)键绑定:

让我们添加所有三个提到的命令:

gsettings list-recursively org.gnome.desktop.wm.keybindings ; gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys ; gsettings list-recursively org.gnome.settings-daemon.plugins.power

要找到一个特殊的键,您可以通过管道传输每个命令的输出grep -i <what you're looking for>(-i 标志是为了忽略字母的大小写) - 因此,如果您查找 print ,它将如下所示:

gsettings list-recursively org.gnome.desktop.wm.keybindings | grep -i print ; gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys | grep -i print ; gsettings list-recursively org.gnome.settings-daemon.plugins.power | grep -i print

有了一些 bash 魔法,这显然看起来会更好 - 但它确实有效;)

关于自定义快捷方式

自定义快捷键

自定义快捷方式使用“可重定位架构”存储在 dconf 中。架构名称为“org.gnome.settings-daemon.plugins.media-keys.custom-keybinding”。每个自定义键绑定都具有三个属性:名称、命令和绑定。由于可重定位架构,很难将“gsettings”与自定义快捷方式一起使用。以下是获取第一个自定义键绑定名称的示例:

gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name

请注意,最后一部分custom0/是指第一个自定义设置的键绑定。

使用以下命令gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/你会得到类似的结果:

org.gnome.settings-daemon.plugins.media-keys.custom-keybinding 命令'libreoffice' org.gnome.settings-daemon.plugins.media-keys.custom-keybinding 名称'libreoffice' org.gnome.settings-daemon。 plugins.media-keys.custom-keybinding 绑定 'l'

要找到正确的条目,您可能必须增加 中的数字custom0

要更改例如命令,请使用:

gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command '<your command>'

这也适用于namebinding

要“清除”自定义键绑定,您可以使用: gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/- 这将清除内部的条目,但该条目仍将作为空条目存在于 Gnome 设置中,但处于“停用”状态。

它如何与 gsettings 配合使用 - 第二个问题: 看看这里:https://developer.gnome.org/gio/stable/GSettings.html

晚安,好运!;)