Gnome 3 wykorzystuje DCONF
do przechowywania preferencji w jednym pliku binarnego: ~/.config/dconf/user
.
Zgodnie z dokumentami Gnome zaleca się zapisywanie tylko potrzebnych ustawień i przywracanie ich za pomocą jednego dconf
lub dwóch gsettings
. Jest jednak w gsettings
stanie przywracać wartości tylko dla jednego klucza na raz (plus, wartość musi być cytowana), co sprawia, że jest to trochę niewygodne dla tego rodzaju zadania. Co nas zostawia dconf
.
W tym konkretnym przypadku zapisz bieżące ustawienia gnome-shell
skrótów klawiaturowych 1 :
dconf dump /org/gnome/shell/keybindings/ > bkp
Oto bkp
próbka:
[/]
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']
Załaduj ustawienia w innym systemie:
dconf load /org/gnome/shell/keybindings/ < bkp
1: Skróty WM i Media Keys należą do różnych schematów:
/org/gnome/desktop/wm/keybindings/
/org/gnome/mutter/keybindings/
/org/gnome/mutter/wayland/keybindings/
/org/gnome/settings-daemon/plugins/media-keys/
Zauważ, że dconf
zrzuca tylko wartości inne niż domyślne, więc jeśli uruchomisz np
dconf dump /org/gnome/desktop/wm/keybindings/
i nie otrzymuj żadnych danych wyjściowych, co oznacza, że nie zdefiniowano niestandardowego skrótu WM.
Na marginesie, dconf-editor
jest narzędziem, które pomaga wizualizować dconf
strukturę ustawień, tj schema [:path] key value
. Typ i wartości domyślne dowolnego klucza itp.
Dla przypomnienia, zapisywanie preferencji za pomocą gsettings
:
gsettings list-recursively org.gnome.shell.keybindings > bkp
bkp
próba:
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']
Teraz ładuję preferencje (jak powiedziałem, dla każdej linii w pliku kopii zapasowej potrzebujesz osobnego polecenia i nie zapomnij podać wartości):
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']"