My dconf/gsettings installation is broken. How can I fix it without Ubuntu reinstall?
Solution 1
I've found the solution. It appears that I got several custom-built libraries in /usr/local/lib
that "shadowed" system libraries from /usr/lib/x86_64-linux-gnu/
.
I discovered it by checking dynamic libraries loaded by libdconfsettings.so
:
ldd /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
...
< several dynamic libraries from /usr/local/lib >
...
It happened because of the order of search paths for dynamic libraries (defined in /etc/ld.so.conf.d/
). The order was the following:
- /lib/i386-linux-gnu
- /usr/lib/i386-linux-gnu
- /lib/i686-linux-gnu
- /usr/lib/i686-linux-gnu
- /usr/local/lib
- /lib/x86_64-linux-gnu
- /usr/lib/x86_64-linux-gnu
So if for example you put your own libc.so
into /usr/local/lib
it will be loaded instead of default libc.so
from /lib/x86_64-linux-gnu
.
The fix:
sudo mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xuserlocal.conf
sudo ldconfig
sudo reboot
Solution 2
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
Solution 3
First check if this command returns true
:
gsettings writable com.canonical.Unity.Launcher favorites
If not, install the backend with:
sudo apt-get install dconf-gsettings-backend
If this doesn't help either, reset your profile with:
rm -rf ~/.gnome ~/.gnome2 ~/.gconf ~/.gconfd ~/.metacity .config/dconf/*
Afterwards reboot.
Solution 4
Just wanted to add my personal experience on this with ubuntu 16.10. Mine stopped working after using GNOME desktop environment for a while, and then switching to Unity to show a friend how nasty it looked (IMO :D), and back to GNOME. I then started getting the "...using memory backend...".
Doing
rm -rf ~/.gnome ~/.gnome2 ~/.gconf ~/.gconfd ~/.metacity .config/dconf/*
sudo ldconfig
sudo reboot
Fixed it for me.
Solution 5
I experienced same thing in Debian Jessie. But questioner's solution (he had failed with it) was proper for my case:
sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
This problem had been killing me, but you saved my life, Thanks :D
Related videos on Youtube
Dmitry
Updated on September 18, 2022Comments
-
Dmitry over 1 year
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?
-
panna over 6 yearsI encountered the same GLib-GIO-Message when trying to use gsettings to set the Launcher position. I searched thru the forum's posts and tried the suggestions here including resetting dynamic linker configuration using ldconfig. However, all could not fix the problem. Then Dmitry's post got me thinking to use ldd to check 'gsettings' shared object dependencies, which caused me to find out the executable I was using came from that in Anaconda's installation. By using the version in /usr/bin resolved the issue.
-
m. öztürk over 9 yearsDo you have the dconf-gsettings-backend installed?
-
Dmitry over 9 yearsYes, dconf-gsettings-backend is installed (and reinstalled several times).
-
m. öztürk over 9 yearsYou mentioned a misclick. Where happened that?
-
m. öztürk over 9 yearsAlso check if dconf-service is running (ps faux | grep dconf-service)
-
Dmitry over 9 yearsThanks for your answer. I found the solution (posted as an answer)
-
m. öztürk over 9 yearsOk, I thought that I am getting old, and I cannot solve such a simple problem... :D :D :D
-
mxmlnkn about 8 yearsThanks, I also had this problem, because I tried to develop a patch for glib and executed
sudo make install
.sudo make uninstall
solved the problem by removing those libraries at/usr/local/lib/
-
111 over 7 years+1. Really solved a similar problem came up after installation of Glib2.
-
RyanNerd almost 7 yearsLinux Mint kept going back to default settings and not respecting any changes I made and double checked in
dconf-editor
. Turned out that I had built glib from source andsudo make install
which I had no idea would not let me change my background or clock, or other cinnamon settings. Was driving me nuts. Back link: forums.linuxmint.com/viewtopic.php?t=244360&start=20 -
moorepants almost 7 yearsNote that this wipes all of the configuration for your desktop.
-
Amir almost 7 yearsi get this error! mv: cannot stat '/etc/ld.so.conf.d/libc.conf': No such file or directory and i do not have any libraries in my /usr/loca/lib except the python environments i have on Anaconda. but the whole problem started when i installed a new package. and it does not happen when i run my code on jupyter-notebook instead of IDE!
-
Dmitry almost 7 years@Amir Does ldd output is the same as in issue description? Probably you have another issue.
-
flyingdrifter over 6 years@mxmlnkn you should post your answer as the correct answer as that worked for me and was quite simple. If you could explain what happened when I did a sudo make install of the most current glib library why it messed everything up?...
-
Mad Physicist almost 6 yearsThe first part (running
which
) is excellent advice. The second part, not so much. You generally want your environment to run using its own setup. A better, or at least alternative, solution might be to explicitly run/usr/bin/gsettings
instead of messing withPATH
. -
austin_ce almost 6 yearsYup, totally agree with you! I think overall, you should generally be aware of how the
PATH
is source/applied. -
rasul over 5 yearsIt solved my problem in Ubuntu 18.04 very nice answer +1
-
austin_ce over 5 yearsSince this is getting some traction, I think another good way might be to keep anaconda out of your path if you are having conflicts and run commands with
python -m [command] [...args]
instead. -
Barun about 5 yearsI had to update this in my .bashrc as well (.profile).