Пользовательские сочетания клавиш не найдены
Когда я попытался перечислить доступные пользовательские сочетания клавиш с помощью команды gsettings
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
Я получил сообщение об ошибке:
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?
1 ответ
Python-скрипт Якоба Влиима был очень полезен. Я делюсь сценарием оболочки, чтобы сделать это, если кто-то может найти это полезным.
#!/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
файл внутри новой пользовательской папки с необходимыми настройками.