Gsettings和dconf

你好, 我需要在Ubuntu 12.10中设置一个快捷键,我使用的方法是:
gsettings(dconf)  
 gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ binding '<Primary><Alt>s'<br>  
 gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ binding '<Primary><Alt>s'<br> 
 gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ command 'gnome-terminal' 

但是当我用gsettings查看这个模式时,我只能看到:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
@as []

但是当我使用dconf来查看这个模式时:
dconf list /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/
 binding
 command

我做错了什么?

我可以问一下为什么您在使用dconfgsettings吗?有很多更简单的方法来创建键盘快捷键。 - Seth
因为我需要在安装后脚本中设置热键。有哪些方法可以实现这个? - minaevmike
啊,很抱歉,它们对于我所担心的后安装脚本是行不通的。 - Seth
为什么不行?在Ubuntu 12.04中我使用gconftool-2,但在12.10中它就不起作用了。 - minaevmike
2个回答

使用以下命令:
dconf read /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/name
dconf read /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/binding
dconf read /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/command

首先尝试创建custom2:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['others', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/']"

(其中others是已定义的其他键绑定的简写。只是为了确保您不会删除它们。)
现在,配置您的custom2
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ binding '<Primary><Alt>s'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ command 'gnome-terminal'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/ name 'Open a terminal window'