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, 2011 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, 2011 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? Jul 14, 2011 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, 2011 at 8:27

4 Answers 4

38

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.

1
  • 1
    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. May 13, 2020 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, 2015 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, 2015 at 15:17
  • I updated the answer, check it -- it works for me. Jun 5, 2015 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, 2015 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, 2019 at 13:28
0

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."

2
  • 1
    Does not anymore exist in software centre as of Ubuntu 18.04 (and possibly earlier)
    – vanadium
    Dec 9, 2018 at 15:24
  • Gconf is deprecated and not the same than dconf.
    – jfernandz
    Feb 7 at 10:54
0

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.

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.