Mi instalación de dconf/gsettings no funciona. ¿Cómo puedo solucionarlo sin reinstalar Ubuntu?

Mi instalación de dconf/gsettings no funciona. ¿Cómo puedo solucionarlo sin reinstalar Ubuntu?

Ejecuto Ubuntu 12.04.1 LTS x64 en VirtualBox. Después de un clic erróneo muy desafortunado (restablecer el estado guardado en lugar de cargar el estado guardado), tuve un problema muy molesto.

Casi todas las aplicaciones (unity, synaptic, gedit, etc.) imprimen al inicio:

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

Y todas las configuraciones de la GUI se restablecen después del reinicio.

Otro síntoma:

$ 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

Pero /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.soestá presente.


Lo que intenté (y no ayudó):

  • sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
  • Compile dconf-0.5 a partir de fuentes make instally
  • Cree un perfil de usuario vacío e inicie programas allí

Debo mantener la instalación actual de Ubuntu, por lo que una reinstalación completa no es una opción para mí.

¿Cómo puedo arreglarlo?

Respuesta1

Esto también puede suceder si tiene PATHconflictos con un administrador de entorno de Python como Anaconda.

Asegúrate de correr which gsettingsantes de profundizar demasiado. Si eso no se imprime y en su lugar aparece /usr/bin/gsettingsalgo como /home/{username}/anaconda3/bin/gsettingsprobablemente tengas algo .profile// como: .bashrc.zshrc

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

Cámbielo a:
export PATH=$PATH:$HOME/anaconda3/bin

Aplicaciónterminando en lugar deprePretender la PATHvariable resolverá su problema, pero tenga en cuenta que cualquier cosa en su sistema binu otras PATHubicaciones reemplazará su archivo anaconda3/bin.

Otra opción sería un alias /usr/bin/gsettings:

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

Respuesta2

He encontrado la solución. Parece que obtuve varias bibliotecas personalizadas en /usr/local/libesas bibliotecas del sistema "sombreadas" de /usr/lib/x86_64-linux-gnu/.

Lo descubrí revisando las bibliotecas dinámicas cargadas por libdconfsettings.so:

ldd /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so

...
<  several dynamic libraries from /usr/local/lib >
...

Sucedió debido al orden de las rutas de búsqueda de bibliotecas dinámicas (definidas en /etc/ld.so.conf.d/). El orden fue el siguiente:

  1. /lib/i386-linux-gnu
  2. /usr/lib/i386-linux-gnu
  3. /lib/i686-linux-gnu
  4. /usr/lib/i686-linux-gnu
  5. /usr/local/lib
  6. /lib/x86_64-linux-gnu
  7. /usr/lib/x86_64-linux-gnu

libc.soEntonces, si, por ejemplo, ingresa el suyo propio, /usr/local/libse cargará en lugar del valor predeterminado libc.sodesde /lib/x86_64-linux-gnu.

La solución:

sudo mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xuserlocal.conf
sudo ldconfig
sudo reboot

Respuesta3

Primero verifique si este comando devuelve true:

gsettings writable com.canonical.Unity.Launcher favorites

Si no, instale el backend con:

sudo apt-get install dconf-gsettings-backend 

Si esto tampoco ayuda, restablece tu perfil con:

rm -rf ~/.gnome ~/.gnome2 ~/.gconf ~/.gconfd ~/.metacity .config/dconf/*

Luego reinicie.

Respuesta4

Experimenté lo mismo en Debian Jessie. Pero la solución del interrogador (había fallado) era adecuada para mi caso:

 sudo apt-get install -f --reinstall  dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service

Este problema me estaba matando, pero me salvaste la vida, gracias :D

información relacionada