Ubuntu – My dconf/gsettings installation is broken. How to fix it without Ubuntu reinstall

dconfgsettings

I run Ubuntu 12.04.1 LTS x64 in VirtualBox. After one very unfortunate misclick (reset saved state instead of load saved state) I got a very annoying problem.

Almost all applications (unity, synaptic, gedit, etc.) print on start:

Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

And all GUI settings reset after reboot.

Another symptom:

$ GSETTINGS_BACKEND=dconf dconf-editor
(dconf-editor:2353): GLib-GIO-WARNING **: Can't find module 'dconf' specified in GSETTINGS_BACKEND
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications

But /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so is present.


What I tried (and it didn't help):

  • sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
  • Build dconf-0.5 from sources and make install it
  • Create empty user profile and start programs there

I have to keep current Ubuntu installation so a complete reinstall is not an option for me.

How can I fix it?

Best Answer

This can also happen if you have PATH conflicts with a Python enviroment manager like Anaconda.

Make sure to run which gsettings before getting too deep. If that doesn't print /usr/bin/gsettings and instead something like /home/{username}/anaconda3/bin/gsettings you probably have something .profile/.bashrc/.zshrc like:

export PATH=$HOME/anaconda3/bin:$PATH

Change it to:
export PATH=$PATH:$HOME/anaconda3/bin

Appending instead of preprending to the PATH variable will solve your issue, but be aware that anything in your system bin, or other PATH locations, will supersede your anaconda3/bin.

Another option would be to alias /usr/bin/gsettings:

alias sys-gsettings=/usr/bin/gsettings
sys-gsettings get org.gnome.todo view