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)?
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.
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.
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:
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.