43

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
  • any chance you can add a screen-shot of what you are seeing? I dont see the same issue. – fossfreedom Jul 12 '11 at 17:23
  • 1
    Use any software that makes use of GSettings/dconf, change one of the default values (eg. gnome-nettool, run a whois), remove the application. You now have the remains in your database (eg. in apps.gnome-nettool). Good if you reinstall that software at a later point, yet I want to remove those keys. – htorque Jul 12 '11 at 18:04
  • A quick online search let me find a Google Code project that seems to do something similar for gconf...could this be modified to work with dconf? – Knowledge Cube Jul 14 '11 at 19:18
  • Have you tried looking at the text file and attempting a find a replace operaation to remove all the unwanted items from your dconf? – Severo Raz Jul 27 '11 at 8:27
37

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.

3
  • This works just fine. For newbies, omit the quote signs when you indicate paths. +1 to @htorque. Tx. – Cbhihe Jun 5 '15 at 15:18
  • For the sake of completeness, I add to my comment of yesterday that I successfully used that solution on Trusty 14.04.2. – Cbhihe Jun 6 '15 at 8:51
  • I think a warning is warranted: you may be tempted to do a dconf reset -f /, but besides clearing out schema-less keys, reset resets all affected values to their defaults. In any case, I recommend backing up your existing configuration (with dconf dump / >my-dconf.dump) before issuing a dconf reset. – Jani Uusitalo May 13 '20 at 12:21
5

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.

6
  • This actually does not seem to have any effect whatsoever on the dconf subpath being dumped modified and reloaded. (I work with an fully updated Ubuntu 14.04.2 and try to remove all keys that have to do with the package indicator-netspeed-unity from ppa:fixnix/netspeed.) It looks like a clean way to go about it but just does NOT effect any change. – Cbhihe Jun 5 '15 at 14:59
  • I redid this to be sure, but I confirm this does not effect any change whatsoever. I guess I voted that answer up a little too fast. Can't undo that now. – Cbhihe Jun 5 '15 at 15:17
  • I updated the answer, check it -- it works for me. – Mikhail Morfikov Jun 5 '15 at 18:48
  • Yes, it now works well. Removing ~/.config/dconf/user before ending your unity session and starting anew were the missing steps. The up-vote stands. Thank you. – Cbhihe Jun 6 '15 at 8:49
  • This saved me when I got a black screen after logging in to gnome. After opening a tty with Alt+Ctrl+F3, I was able to perform these steps. An additional useful command was sudo pkill -u <username> to restart the active gnome desktop session. – Zoltán Apr 13 '19 at 13:28
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."

1
  • 1
    Does not anymore exist in software centre as of Ubuntu 18.04 (and possibly earlier) – vanadium Dec 9 '18 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.