Udělal jsem zálohu souboru, kde je můj dconf databáze je uložena (~/.config/dconf/user což je binární soubor) a teď potřebuji přesunout některé klíče ze zálohy do dconf v použití.
Jak mohu zobrazit obsah zálohovaného dconf aniž byste jej vložili „na místo“ a zobrazte jej například pomocí dconf-editor ?
Přijatá odpověď:
Chcete-li zobrazit obsah tohoto souboru, můžete jej přejmenovat – např. test – umístěte jej pod ~/.config/dconf/ a pak mít dconf přečíst/vypsat nastavení z tohoto souboru.
Ve výchozím nastavení dconf přečte user-db naleznete v $XDG_CONFIG_HOME/dconf/ :
"user-db"řádek určuje databázi uživatelů.
Tyto databáze se nacházejí v$XDG_CONFIG_HOME/dconf/. Název souboru, který se má otevřít v tomto
adresáři, je přesně takový, jak je napsán v profilu. Očekává se, že
tento soubor bude v binárním formátu databáze dconf. Všimněte si, žeXDG_CONFIG_HOMEnelze nastavit/upravit pro terminál nebo relaci,
protože pak by zapisovač a čtečka pracovaly na různých databázích
(zapisovač je spuštěn DBus a tuto proměnnou nevidí).
V důsledku toho byste potřebovali vlastní profil, který ukazuje na tento konkrétní soubor db – např. user-db:test a poté pokyn dconf vypsat data (pomocí vlastního profilu) prostřednictvím DCONF_PROFILE proměnná prostředí:
cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings
Výsledkem je soubor (old_settings ) obsahující nastavení z vašeho zálohovaného dconf soubor, např.:
[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'
[org/gnome/desktop/input-sources]
[email protected](ss) []
[email protected] []
[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
.......
Poté můžete tyto soubory odstranit:
rm -f ~/db_profile ~/.config/dconf/test
a načtěte stará nastavení do aktuální databáze:
dconf load / < old_settings
Pokud chcete vypsat pouze konkrétní nastavení, zadejte cestu:
DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'
ale všimněte si, že pro každou cestu byste měli mít jiný soubor a když jej načítáte, měli byste podle toho zadat cestu:
dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings
Všimněte si také, že kvůli změnám v upstreamu je starší dconf databáze mohou obsahovat cesty, klíče a hodnoty, které jsou v novějších verzích neplatné, takže plná kompatibilita mezi soubory db vytvořenými různými verzemi dconf není vždy zaručeno. V takovém případě byste museli zkontrolovat výsledné old_settings a ručně odstraňte nebo upravte položky, které jsou neplatné, než jej načtete do vaší aktuální databáze.