Wie räume ich meine dconf-Datenbank auf?

40

Dconf ist ziemlich jung, aber meine Datenbank ist schon ein einziges Durcheinander mit vielen "schemalosen" Schlüsseln. Gibt es eine Möglichkeit, etwas aufzuräumen, oder muss ich bei Null anfangen (indem ich ~ / .config / dconf / user entferne, denke ich)?

Drehmoment
quelle
Kannst du einen Screenshot von dem, was du siehst, hinzufügen? Ich sehe nicht das gleiche Problem.
fossfreedom
1
Verwenden Sie eine Software, die GSettings / dconf verwendet, ändern Sie einen der Standardwerte (z. B. gnome-nettool, führen Sie ein whois aus), und entfernen Sie die Anwendung. Sie haben jetzt die Überreste in Ihrer Datenbank (z. B. in apps.gnome-nettool). Gut, wenn Sie diese Software zu einem späteren Zeitpunkt erneut installieren, diese Schlüssel jedoch entfernen möchten.
htorque
Mit einer schnellen Online-Suche kann ich ein Google Code-Projekt finden , das für gconf anscheinend eine ähnliche Funktion hat. Könnte dies geändert werden, um mit dconf zusammenzuarbeiten?
Christopher Kyle Horton
Haben Sie versucht, die Textdatei zu durchsuchen und eine Ersetzungsoperation zu suchen, um alle unerwünschten Elemente aus Ihrer dconf zu entfernen?
Severo Raz

Antworten:

34

Dies ist mit dem dconf resetBefehl möglich, obwohl nicht klar ist, ob dies ein Nebeneffekt eines Fehlers ist.

  • Für einen einzelnen Schlüssel:

    dconf reset "/path/to/the/key"
    

    Darf nicht mit einem enden /.

  • Für einen ganzen Weg:

    dconf reset -f "/path/to/the/path/"
    

    Muss mit einem enden /.

Wenn Sie dies während des Öffnens tun dconf-editor, wird es wahrscheinlich abstürzen.

Drehmoment
quelle
Das funktioniert gut. Lassen Sie bei Neulingen die Anführungszeichen weg, wenn Sie Pfade angeben. +1 zu @htorque. Tx.
Cbhihe
Der Vollständigkeit halber füge ich meinem gestrigen Kommentar hinzu, dass ich diese Lösung erfolgreich auf Trusty 14.04.2 verwendet habe.
Cbhihe
3

Wenn Sie die dconf-Datenbank bereinigen möchten, müssen Sie zuerst die gesamte dconf-Konfiguration sichern über:

morfik:~$ cd ~/.config/dconf/
morfik:~/.config/dconf$ dconf dump / > user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 30.0K 2015-02-07 08:18:04 ./user-backup
morfik:~/.config/dconf$ rm user

Nach diesen Schritten müssen Sie Ihre grafische Sitzung erneut öffnen (Abmelden / Anmelden). Dadurch wird die ~/.config/dconf/userDatei mit fast 0 Inhalten neu erstellt - Standardeinstellungen.

Bei der user-backupzuvor erstellten Datei handelt es sich lediglich um eine reine Textdatei:

...
[apps/light-locker]
late-locking=false
lock-after-screensaver=uint32 1
lock-on-suspend=true
...

Sie können es also bearbeiten und die gewünschten Einträge / Blöcke aus dieser Datei entfernen. Mit anderen Worten - reinige es.

Wenn Sie fertig sind, laden Sie es:

morfik:~/.config/dconf$ dconf load / < ./user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 14.0K 2015-02-07 08:26:23 ./user-backup
morfik:~/.config/dconf$ dconf update /

Ich denke, Sie sollten Ihre grafische Sitzung danach erneut starten.

Und das war es auch schon, aber Sie müssen bedenken, dass alle Einträge mit Standardwerten nicht gespeichert werden. Sie werden neu erstellt, wenn eine App danach fragt. Das ist gut, weil Sie nur die Werte sichern möchten, die Sie geändert haben .

Mikhail Morfikov
quelle
Dies scheint keinerlei Auswirkungen auf den dconf-Unterpfad zu haben, der geändert und neu geladen wird. (Ich arbeite mit einem vollständig aktualisierten Ubuntu 14.04.2 und versuche, alle Schlüssel, die mit dem Paket indicator-netspeed-unity zu tun haben, aus ppa: fixnix / netspeed zu entfernen.) Es sieht nach einer sauberen Vorgehensweise aus, tut dies aber nur KEINE Änderung vornehmen.
Cbhihe
Ich habe dies zwar überarbeitet, aber ich bestätige, dass dies keinerlei Änderungen bewirkt. Ich denke, ich habe diese Antwort etwas zu schnell gewählt. Kann das jetzt nicht rückgängig machen.
Cbhihe,
Ich habe die Antwort aktualisiert, überprüfe sie - sie funktioniert bei mir.
Mikhail Morfikov
Ja, es funktioniert jetzt gut. Das Entfernen von ~ / .config / dconf / user vor dem Beenden Ihrer Unity-Sitzung und dem erneuten Starten waren die fehlenden Schritte. Die Gegenstimme steht. Danke.
Cbhihe
Das hat mich gerettet, als ich nach dem Einloggen bei gnome einen schwarzen Bildschirm bekam. Nachdem Alt+Ctrl+F3ich ein tty mit geöffnet hatte , konnte ich diese Schritte ausführen. Ein zusätzlicher nützlicher Befehl war sudo pkill -u <username>, die aktive Gnome-Desktopsitzung neu zu starten.
Zoltán
1

Installation gconf-cleanerüber das Software Center.
sudo apt-get install gconf-cleaner

In ihren eigenen Worten: "GConf Cleaner ist ein Tool zum Bereinigen Ihrer Gconf-Datenbank, das möglicherweise mit unnötigen oder ungültigen Schlüsseln überfüllt ist."

Parto
quelle
Gibt es nicht mehr im Software Center ab Ubuntu 18.04 (und möglicherweise früher)
Vanadium