Gnome 3 wykorzystuje DCONFdo 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 dconflub dwóch gsettings. Jest jednak w gsettingsstanie 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-shellskrótów klawiaturowych 1 :
dconf dump /org/gnome/shell/keybindings/ > bkp
Oto bkppró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-editorjest narzędziem, które pomaga wizualizować dconfstrukturę 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']"