Chtěl bych znát výchozí hodnotu klíče dconf/gsettings.
Moje otázka navazuje na otázku níže:
Kde mohu získat seznam SCHEMA / PATH / KEY pro použití s gsettings?
Snažím se tedy vytvořit skript, který přečte všechny mé osobní preference, abych je mohl zálohovat a obnovit. Mám v plánu iterovat všechny klíče, stejně jako výše uvedený skript, podívat se, které klíče byly změněny z jejich výchozí hodnoty, a poznamenat si je, které lze později obnovit.
Vidím, že dconf-editor zobrazuje výchozí hodnotu klíčů, ale velmi rád bych to naskriptoval. Také nechápu, jak lze automatizovat analýzu schémat /usr/share/glib-2.0/schemas/. Možná někdo může pomoci?
gsettings get-default|list-defaults by bylo hezké =)
(Proboha, za starých časů to bylo mnohem snazší, když jste svůj ~/.somethingrc drželi v subversion… =
Na základě níže uvedené odpovědi Aktualizoval jsem skript tak, aby tiskl schéma, klíč, datový typ klíče, výchozí hodnotu a skutečná hodnota:
#!/bin/bash
for schema in $(gsettings list-schemas | sort); do
for key in $(gsettings list-keys $schema | sort); do
type="$(gsettings range $schema $key | tr "n" " ")"
default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "n" " ")"
value="$(gsettings get $schema $key | tr "n" " ")"
echo "$schema :: $key :: $type :: $default :: $value"
done
done
Toto řešení v podstatě pokrývá to, co potřebuji. Budu pokračovat v práci na záložním skriptu odtud.
Přijatá odpověď:
Nezdá se, že by byl dobrý způsob, jak se přímo dostat na výchozí hodnoty, ale protože klient kontroluje XDG_CONFIG_HOME v prostředí, slušné řešení pro získání hodnot z nové konfigurace může být:
XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY