Dconf is pretty young, yet my database is already a mess with lots of "schema-less" keys. Is there a way to do some cleaning up, or would I need to start from scratch (by removing ~/.config/dconf/user I guess)?
4 Answers
This is possible using the dconf reset command, though it's not clear if that's a side-effect of a bug.
For a single key:
dconf reset "/path/to/the/key"Must not end with a
/.For a whole path:
dconf reset -f "/path/to/the/path/"Must end with a
/.
If you do this while having dconf-editor opened, it will likely crash.
- 66,086
If you want to clean the dconf database, you first have to dump the whole dconf configuration via:
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
After those steps you have to reopen your graphical session (log out/in). This will create the ~/.config/dconf/user file anew with almost 0 content -- default settings.
As for the user-backup file you had created earlier, it's just a plain text file:
...
[apps/light-locker]
late-locking=false
lock-after-screensaver=uint32 1
lock-on-suspend=true
...
So you can edit it and remove the desired entries/blocks from that file. In other words -- clean it.
When you're done, load it:
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 /
I think you should restart your graphical session after that again.
And that's it, but you have to remember that all entries that have default values wont be saved -- they will be created anew when some app will ask for it, which is a good thing because you want to backup only the values you had changed.
- 151
Very late to this, but I found a way to remove particularly stubborn old entries that isn't mentioned here. In /usr/share/glib-2.0/schemas, there will be several .gschema.xml files. Look there, you'll probably find files associated with those entries.
Remove them like this.
rm -v /usr/share/glib-2.0/schemas/org.gnome.shell.extensions.stubborn.gschema.xml
Then recompile the gschemas.compiled file with this command:
glib-compile-schemas /usr/share/glib-2.0/schemas/
From there, I used Alt+F2 > r to reload. Not sure if that's necessary. If using Wayland, you'll probably have to restart if it is. And the entries were gone.
- 1
Install gconf-cleaner from the software center.
sudo apt-get install gconf-cleaner
In their own words "GConf Cleaner is a tool to clean your Gconf database up that is possibly cluttered with unnecessary or invalid keys."
- 15,647