看起来使用gsettings和命令行在Ubuntu 22.04上设置Super+C
来启动我的GNOME计算器应该相对容易:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom999/ name "Launch Calculator"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom999/ binding "c"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom999/ command "gnome-calculator"
我执行了命令,一切看起来都很正常,然后我按下Super+C
,但什么也没发生。我做错了什么?
这将是脚本的一部分,所以我不能使用任何图形界面解决方案,尽管我们可以使用图形界面(dconf、设置等)进行故障排除。实际上,我已经这样做了,我可以看到快捷方式列在我的
dconf > org > gnome > settings-daemon > plugins > media-keys > custom-keybindings
但在
Settings > Keyboard > Keyboard Shortcuts > View and Customize Shortcuts
中缺失,这似乎是我按下Super+C
时"什么也没发生"的症状。
每个自定义目录(以
/
结尾)你添加到目录下(这是一个以
/
结尾的目录)需要将其路径作为值条目添加到键(这是一个与上述目录同名但不以
/
结尾的键)... 并且你可以使用以下命令读取其当前值:
所以,除了创建自定义目录并像这样填充键和值(使用
dconf
):... 你可以通过
dconf dump
这样验证:... 你需要将其路径添加到
/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings
键中,同时保留该键数组中已有的值['...', '...', ...]
,像这样:... 你可以通过
dconf read
这样验证:注意我使用了
dconf
工具,因为它默认在所有Ubuntu安装中都可用,因此特别适合广泛部署的脚本,但你可以安装gsettings
前端工具并使用它修改上述命令的语法和目录/键路径风格以适应它... 请查看man gsettings
并在使用之前查看gsettings list-schemas
和gsettings list-recursively
的输出。