Когда я попытался перечислить доступные пользовательские сочетания клавиш с помощью команды gsettings
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
, я получил сообщение об ошибке: «116]
No such key 'custom-keybindings'
Я графически проверил свои собственные сочетания клавиш, и это было пустой. Поэтому я подумал, что это нормально. Поэтому я попытался добавить новое связывание клавиш, используя
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
Снова вернулась та же ошибка. Я использую Ubuntu 12.04 в virtualbox. Разве это не идет с ключом custom-keybindings
? Как я могу добавить новый custom-keybinding
, используя gsettings?
Сценарий Python Jacob Vlijm был очень полезен. Я совместно использую сценарий оболочки, чтобы сделать это, если кто-то может найти его полезным.
#!/bin/sh
ls -d ~/.gconf/desktop/gnome/keybindings/*/
if [[ `echo $?` == 2 ]]; then
shortCutNumber=0
else
shortCutNumber=$((`ls -d ~/.gconf/desktop/gnome/keybindings/*/ | tail -c 3 | head -c 1`+1))
fi
echo -e '<?xml version="1.0"?>' > %gconf.xml
echo -e '\t<gconf>' | tee -a %gconf.xml
echo -e '\t<entry name="action" mtime="`date +%s`" type="string">' | tee -a %gconf.xml
echo -e '\t\t<stringvalue>gnome-terminal -e '`pwd`/LanChat.sh'</stringvalue>' | tee -a %gconf.xml
echo -e '\t</entry>' | tee -a %gconf.xml
echo -e '\t<entry name="name" mtime="`date +%s`" type="string">' | tee -a %gconf.xml
echo -e '\t\t<stringvalue>QryptoChat</stringvalue>' | tee -a %gconf.xml
echo -e '\t</entry>' | tee -a %gconf.xml
echo -e '\t<entry name="binding" mtime="`date +%s`" type="string">' | tee -a %gconf.xml
echo -e '\t\t<stringvalue><Alt>q</stringvalue>' | tee -a %gconf.xml
echo -e '\t</entry>' | tee -a %gconf.xml
echo -e '</gconf>' | tee -a %gconf.xml
mkdir ~/.gconf/desktop/gnome/keybindings/custom$shortCutNumber
mv %gconf.xml ~/.gconf/desktop/gnome/keybindings/custom$shortCutNumber/
сценарий сначала проверяет, существует ли там уже какие-либо пользовательские ярлыки. И затем создает %gconf.xml
файл в новой пользовательской папке с необходимыми настройками.