我想使用 dconf 添加自定义键绑定。以前,我使用 gconf 做了同样的工作并成功了。但是,使用 dconf 存在一些问题。
(我正在开发 Debian 软件包,因此基于文件的覆盖很容易打包。)
这是我所拥有的:
# cat /etc/dconf/profile/user:
user-db:user
system-db:site
# cat /etc/dconf/db/site.d/keybindings
[org/mate/desktop/keybindings/emacs]
action='emacs'
binding='<Mod4>e'
name='Emacs'
[org/mate/desktop/keybindings/pluma]
action='pluma'
binding='<Mod4>g'
name='Text Editor'
[org/mate/desktop/keybindings/virtualbox]
action='virtualbox'
binding='<Mod4>v'
name='Virtual Box'
[org/mate/desktop/keybindings/rhythmbox]
action='rhythmbox'
binding='<Mod4>r'
name='Music Player'
# sudo dconf update
如您所见,文件/etc/dconf/db/site.d/keybindings
包含 4 个键绑定,但是只有第一个有效,即Emacs 的Win+ E。其他键绑定将不起作用。
我可以重新排序条目,使其pluma
成为第一个,或者virtualbox
成为第一个,但是,同样的问题再次出现:只有第一个条目有效。即,Win+G代表 pluma,或Win+V代表 virtualbox。但是,我不能同时拥有所有这些键绑定!
但是等一下...如果我移动/etc/dconf/db/site.d/keybindings
到$HOME/.config/dconf/user.d/keybindings
并运行:
# cd ~/.config/dconf
# mkdir user.d
# mv /etc/dconf/db/site.d/keybindings user.d/keybindings
# sudo dconf update .
然后一切正常!好吧,因为我正在编写 Debian 软件包,所以我无法将文件安装到用户的 homedir,所以仍然面临这个问题。