Mon installation dconf / gsettings est cassée. Comment puis-je le réparer sans réinstaller Ubuntu?

14

Je lance Ubuntu 12.04.1 LTS x64 dans VirtualBox. Après un clic malheureux (réinitialisation de l’état enregistré au lieu de l’état de chargement), j’ai eu un problème très ennuyeux.

Presque toutes les applications (unity, synaptic, gedit, etc.) sont imprimées au démarrage:

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

Tous les paramètres de l'interface graphique réinitialisés après le redémarrage.

Un autre symptôme:

$ 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

Mais /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so est présent.

Ce que j'ai essayé (et ça n'a pas aidé):

  • sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
  • Construisez dconf-0.5 à partir des sources et make install it
  • Créez un profil utilisateur vide et lancez-y des programmes

Je dois conserver l’installation actuelle d’Ubuntu, donc une réinstallation complète n’est pas une option pour moi.

Comment puis-je résoudre ce problème?

    
posée Dmitry 09.12.2014 - 15:42
la source

5 réponses

11

J'ai trouvé la solution. Il semble que j'ai obtenu plusieurs bibliothèques personnalisées dans /usr/local/lib qui "occultaient" les bibliothèques système de /usr/lib/x86_64-linux-gnu/ .

Je l’ai découvert en vérifiant les bibliothèques dynamiques chargées par libdconfsettings.so :

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

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

Cela s’est produit à cause de l’ordre des chemins de recherche pour les bibliothèques dynamiques (défini dans /etc/ld.so.conf.d/ ). La commande était la suivante:

  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

Donc, si par exemple vous mettez votre propre libc.so dans /usr/local/lib , il sera chargé à la place de la valeur par défaut libc.so de /lib/x86_64-linux-gnu .

Le correctif:

sudo mv /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/xuserlocal.conf
sudo ldconfig
sudo reboot
    
réponse donnée Dmitry 09.12.2014 - 16:33
la source
5

Vérifiez d'abord si cette commande retourne true :

gsettings writable com.canonical.Unity.Launcher favorites

Sinon, installez le backend avec:

sudo apt-get install dconf-gsettings-backend 

Si cela n’aide pas non plus, réinitialisez votre profil avec:

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

Par la suite, redémarrez.

    
réponse donnée Frantique 09.12.2014 - 15:53
la source
4

Cela peut aussi arriver si vous définissez incorrectement votre PATH (comme je l'ai fait) avec un gestionnaire d'environnement Python comme Anaconda.

Assurez-vous d'exécuter which gsettings avant de devenir trop profond. Si cela n'imprime pas /usr/bin/gsettings et plutôt quelque chose comme /home/{username}/anaconda3/bin/gsettings , vous avez probablement quelque chose comme .profile :

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

Changez-le en:
export PATH=$PATH:$HOME/anaconda3/bin

Assurez-vous toujours que app se termine au lieu de pre prend la variable PATH .

    
réponse donnée Austin Cawley-Edwards 19.02.2018 - 23:56
la source
2

Je voulais juste ajouter mon expérience personnelle à ce sujet avec Ubuntu 16.10. Le mien a cessé de fonctionner après avoir utilisé l'environnement de bureau GNOME pendant un certain temps, puis est passé à Unity pour montrer à un ami à quel point il avait l'air méchant (IMO: D) et à GNOME. J'ai alors commencé à recevoir le "... utilisant un backend mémoire ...".

Faire

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

Corrigé pour moi.

    
réponse donnée Gavin Ridley 16.12.2016 - 19:06
la source
1

J'ai connu la même chose dans Debian Jessie. Mais la solution de questeur (il avait échoué avec) était appropriée pour mon cas:

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

Ce problème m'avait tué, mais vous m'avez sauvé la vie, merci: D

    
réponse donnée user410988 17.05.2015 - 15:51
la source

Lire d'autres questions sur les étiquettes