Chciałbym poznać domyślną wartość klucza dconf / gsettings.
Moje pytanie jest kontynuacją poniższego pytania: Gdzie mogę uzyskać listę SCHEMA / ŚCIEŻKA / KLUCZ do użycia z ustawieniami?
Co próbuję zrobić, więc stwórz skrypt, który odczyta wszystkie moje osobiste preferencje, aby móc je wykonać kopię zapasową i przywrócić. Planuję iterować wszystkie klucze, takie jak powyższy skrypt, zobaczyć, które klucze zostały zmienione z ich wartości domyślnej, i zanotować te, które można później przywrócić.
Widzę, że edytor dconf wyświetla domyślną wartość klawiszy, ale bardzo chciałbym to zrobić. Nie rozumiem też, w jaki sposób parsowanie schematów /usr/share/glib-2.0/schemas/ można zautomatyzować. Może ktoś może pomóc?
gsettings get-default | list-defaults byłoby miło =)
(Geesh, było znacznie łatwiej w dawnych czasach, kiedy trzymałeś ~ / .somethingrc w subversion ... = \
W oparciu o odpowiedź podaną poniżej zaktualizowałem skrypt, aby wydrukować schemat, klucz, typ danych klucza, wartość domyślną i wartość rzeczywistą:
#!/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
To obejście obejmuje w zasadzie to, czego potrzebuję. Będę kontynuować pracę nad kopią skryptu z tego miejsca.
gsettings reset KEY
jest droga.Odpowiedzi:
Wydaje się, że nie jest dobrym sposobem na uzyskanie wartości domyślnych bezpośrednio, ale ponieważ klient sprawdza XDG_CONFIG_HOME w środowisku, przyzwoite obejście w celu uzyskania wartości ze świeżej konfiguracji może być:
źródło
Jeśli chcesz wykonać kopię zapasową i przywrócić ustawienia (w takim przypadku powinieneś zmienić tytuł pytania).
Utworzyć kopię zapasową
Możesz wykonać kopię zapasową ustawień za pomocą
Spowoduje to zapisanie wszystkich kluczy do kopii zapasowej pliku w folderze domowym.
Przywracać
O ile wiem, nie ma żadnej bezpośredniej opcji importowania pliku z powrotem do dconf. Być może mógłbyś napisać procedurę, która odczytuje plik kopii zapasowej wiersz po wierszu i wykonuje,
gsettings set <input line from backup>
aby przywrócić ustawienia.źródło