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_HOME
nelze 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.