How do I clean up my dconf database?

Solution 1:

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.

Solution 2:

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.