Сохранить пользовательские сочетания клавиш в Gnome


25

В моей системе Debian я настроил свои сочетания клавиш Gnome (Shell) через Настройки системы> Клавиатура> Сочетания клавиш.

Где я могу найти файл с этими настройками, чтобы я мог скопировать файл на флэш-диск для резервного копирования и затем использовать его для замены сочетаний клавиш в других системах Gnome?



Ответы:


22

Gnome 3 использует DCONFдля хранения настроек в одном двоичном файле: ~/.config/dconf/user.
В соответствии с Документами Gnome, рекомендуется сохранить только настройки , которые вам нужно , и восстановить их либо dconfили gsettings. Тем не менее, gsettingsон может восстанавливать только значения для одного ключа за раз (плюс, значение должно быть заключено в кавычки), и это делает его немного неловким для задач такого рода. Что оставляет нас с dconf.
Итак, в данном конкретном случае сохраните текущие настройки gnome-shellсочетаний клавиш 1 :

dconf dump /org/gnome/shell/keybindings/ > bkp

Вот bkpпример:

[/]
toggle-message-tray=['<Super>m']
open-application-menu=['<Super>F1']
toggle-application-view=['<Control>F1']
focus-active-notification=['<Super>n']
toggle-recording=['<Control><Shift><Alt>r']

Загрузите настройки в другой системе:

dconf load /org/gnome/shell/keybindings/ < bkp

1: Ярлыки WM и Media Keys принадлежат разным схемам:

/org/gnome/desktop/wm/keybindings/
/org/gnome/mutter/keybindings/
/org/gnome/mutter/wayland/keybindings/
/org/gnome/settings-daemon/plugins/media-keys/

Обратите внимание, что dconf выводятся только значения не по умолчанию, поэтому, если вы запустите, например,

dconf dump /org/gnome/desktop/wm/keybindings/

и не получают никакого вывода, что означает, что пользовательский ярлык WM не определен.


Как примечание, dconf-editorэто инструмент, который помогает визуализировать dconfструктуру настроек, то есть schema [:path] key valueтип и значения по умолчанию для любого ключа и т. Д.


Для записи сохраняем настройки с помощью gsettings:

gsettings list-recursively org.gnome.shell.keybindings > bkp

bkp образец:

org.gnome.shell.keybindings focus-active-notification ['<Super>n']
org.gnome.shell.keybindings open-application-menu ['<Super>F1']
org.gnome.shell.keybindings toggle-application-view ['<Super>a']
org.gnome.shell.keybindings toggle-message-tray ['<Super>m']
org.gnome.shell.keybindings toggle-recording ['<Control><Shift><Alt>r']

Теперь загружаем настройки (как я уже сказал, для каждой строки в файле резервной копии вам нужна отдельная команда и не забудьте указать значения):

gsettings set org.gnome.shell.keybindings focus-active-notification "['<Super>n']"
gsettings set org.gnome.shell.keybindings open-application-menu "['<Super>F1']"
gsettings set org.gnome.shell.keybindings toggle-application-view "['<Super>a']"
gsettings set org.gnome.shell.keybindings toggle-message-tray "['<Super>m']"
gsettings set org.gnome.shell.keybindings toggle-recording "['<Control><Shift><Alt>r']"

dconf dump /org/gnome/shell/keybindings/ > bkpне работает на Centos 7.
Лукас

Извините, я пытался редактировать свой комментарий и был заблокирован обменом стека. Выполнение dconf dump /может помочь показать, какие ключи доступны. На Centos у меня был привязан терминал, Ctrl+Alt+Tи он показывался в org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0. Дампирование org/gnomeкажется хорошим способом сделать резервную копию большинства вещей на Centos 7.
Лукас

Для тех, кто использует настраиваемые сочетания клавиш для действий не по умолчанию: они хранятся в /org/gnome/settings-daemon/plugins/media-keys/разделе custom-keybindings(в качестве примера: я определил несколько сочетаний клавиш для размещения указателя мыши в центре каждого из моих экранов).
Децибайт

Нет /org/gnome/shell/keybindings/на Fedora 28.
Анатолий Techtonik

@don_crissti dconfсохраняет только измененные настройки и сохраняет их в разных местах.
анатолий техтоник

0

Искать сочетания клавиш так:

gsettings list-recursively | grep keybindings

Установите привязку клавиш так:

org.gnome.desktop.wm.keybindings close "['<Alt>F5']"

Обратите внимание, что клавиатура настраивает перекрывающиеся привязки, которые сломают последние. Например, switch-applications-backward ['<Alt><Shift>Tab']будет переопределено переключателем макета "Left Alt" + "Left Shift", так что ['<Left Alt><Left Shift>Tab']не будет работать, где как ['<Left Alt><Right Shift>Tab']будет.

Установка привязки клавиш для разметки переключателя как таковая gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Shift>Alt', '<Super>space']"или gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift', '<Super>space']"не заставляет его работать.

Надеюсь, кто-то найдет это полезным.

Gnome v3.28.1

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.