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.