Ich speichere meine Konfiguration in einem Git-Repository, um sie später problemlos wiederherzustellen.
Kürzlich bin ich auf ein Problem gestoßen, bei dem die GNOME-Einstellungen mit dem gsettings
Befehl geändert werden mussten .
Gibt es eine Möglichkeit, diese Einstellungen in einer Datei zu speichern, die mit einem Link verknüpft oder an einem von GNOME erwarteten vordefinierten Speicherort kopiert werden kann? Ich würde eine Methode bevorzugen, bei der ich kein Skript schreiben muss, um sie aufzurufen gsettings
.
Antworten:
GNOME-Einstellungen werden im Allgemeinen über die GSettings-API gespeichert, die eine Implementierung der DConf-Spezifikation darstellt. Dadurch werden die Einstellungen in einer Binärdatenbank gespeichert, die beim Anmelden nicht ersetzt werden sollte.
Stattdessen müssen die Einstellungen exportiert und dann erneut geladen werden.
Sie können
dconf dump / > dconf-settings.ini
die Einstellungen in eine INI-Datei sichern undcat dconf-settings.ini | dconf load /
diese Einstellungen dann wieder laden. Sie können die/
durch einen bestimmten Pfad ersetzen , um zu begrenzen, welche Einstellungen ausgegeben und geladen werden. Sieheman dconf
dort für weitere Details.Wenn Sie einfach einen einzelnen Schlüssel anstatt ganzer Pfade festlegen möchten, ist es besser,
gsettings
diesen mitgsettings get
undgsettings set
in einem Skript zu verwenden.quelle
dconf
Konfiguration gespeichert und wiederhergestellt wird, oder? Ich möchte genau das speichern, was ich eigentlich brauche. Kann ichdconf load
den Teil, an dem ich gerade interessiert bin?dconf read
unddconf write
, abergsettings
ist ein bequemer dafür, IMOHier eine kleine Korrektur für "Dobey" -Befehle:
Es ist in Ordnung, alle Donf-Einstellungen wie folgt zu speichern:
Aber du musst sie so wiederherstellen! ::
quelle
Siehe
man 7 dconf
:Wenn GNOME nur Einstellungen aus einer Datei ohne Skripterstellung abrufen muss, ist dies möglicherweise der einfachste Weg, für die Erstellung der Schlüsseldatei ist jedoch Administratorzugriff erforderlich.
Die andere Option besteht darin, die binäre dconf-Datenbank selbst zu speichern. Dies ist jedoch keine gute Option für die Verwendung mit Git als Versionskontrolle. Die Datenbank befindet sich normalerweise in
$XDG_CONFIG_HOME/dconf
(dh~/.config/dconf
standardmäßig). Siehe Abschnitt aufPROFILES
der Manpage.Die Manpage sagt auch:
Es ist jedoch nicht ganz klar, wie dies ohne Skripterstellung geschehen soll.
quelle
dconf
es damit zusammenhängtgsettings
. In der Tat, wenn die Datenbank binär ist, werde ich diese Methode nicht wählen, um sie auf Git zu verfolgen. Ich denke, die erste Methode ist so ziemlich das, wonach ich suche. Ich werde das so schnell wie möglich ausprobieren. Nach dem Ändern der Schlüsseldateien muss die Datenbank mit dem Tool dconf (1) aktualisiert werden. Bedeutet dies, dass ichdconf
einige Parameter ausführen muss , um meine Änderungen zu berücksichtigen?dconf compile
siehe zum Beispiel: askubuntu.com/a/875922/158442 Es muss jedoch nur einmal durchgeführt werden./etc/dconf
dienen jedoch dazu, die Einstellungen systemweit zu beeinflussen, und eignen sich nicht zum Speichern der Einstellungen eines Benutzers in Git. Dies ist für einen Einzelbenutzercomputer möglicherweise in Ordnung, wirkt sich jedoch auch auf den Anmeldebildschirm und die Gastsitzungen aus. Ich würde diese Methode nicht empfehlen. Das Speichern der binären Datenbank in Git wird ebenfalls nicht empfohlen, da dies ein guter Weg ist, um Daten zu verlieren. Hier ist ein wenig Scripting erforderlich.