1 votes

Nautilus se bloque à l'ouverture mais fonctionne avec sudo

Je viens de mettre à niveau Ubuntu 16.04 vers 18.04 et l'un des problèmes auxquels je suis confronté est que je ne peux pas afficher les dossiers et les fichiers car Nautilus se bloque dès que j'essaie de l'ouvrir :

$ nautilus
Initializing nautilus-dropbox 2019.02.14
Bus error (core dumped)

Cependant, il fonctionne normalement si j'exécute sudo nautilus .

Cela me fait penser qu'il peut être dû à une sorte de erreur de permission .

Comment puis-je vérifier quel fichier (s'il y en a un) Nautilus essaie de lire et qui provoque le crash ?

Les choses que j'ai essayées

  • réinstaller nautilus

  • s'assurer que les fichiers de configuration m'appartiennent : $ sudo chown -R felipe:felipe ~/.config/*

  • Assurez-vous que les fichiers de configuration de Dropbox se trouvent sous ~/.dropbox/ et sous ~/.dropbox-dist m'appartiennent

  • lister tous les fichiers sous mon home et chown tous les fichiers de configuration et de cache. (Je n'ai pas pu faire le chown /.gvfs y ~/.cache/doc j'obtiens Function not implemented message d'erreur)

  • paquet de purge nautilus-dropbox (il n'est pas du tout installé)

  • purger dropbox . Même message d'erreur mais sans le texte de débogage précédent lié à Dropbox :

    $ nautilus
    Bus error (core dumped)
  • a couru strace nautilus pour le débogage. Les dernières lignes du journal sont aquí


PS le message du journal lorsque l'application nautilus se plante au démarrage est différent de celui que j'obtiens lorsque j'exécute nautilus sur la ligne cmd. Voici le journal du plantage au démarrage : https://pastebin.com/mVx0E7SE

2voto

user167850 Points 230

Je suggère d'enlever nautilus-dropbox par

sudo apt purge nautilus-dropbox

Si vous avez besoin d'un service Dropbox, il est préférable de l'installer à partir du site Dropbox.

https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2019.02.14_amd64.deb

Si rien ne marche, vous pouvez créer un nouvel utilisateur et copier les fichiers de l'ancien utilisateur vers le nouveau. Cela devrait aider à coup sûr.

1voto

waltinator Points 32821

Vous êtes entré dans le Monde de la douleur (tm) qui vient de l'exécution des programmes GUI comme root . Évitez de répéter cette erreur.

Détails : La "course en tant que root " Les programmes d'interface graphique s'approprient toutes sortes de fichiers, puis, quand $USER essaie d'y accéder, $USER ne peuvent pas, parce qu'ils sont détenus par root y $USER n'a pas le droit d'écrire sur les fichiers, BOOM .

Jetez un coup d'œil aux dernières pages des lignes de strace nautilus pour avoir un aperçu de ce qui s'est passé jusqu'au Bus error ce qui signifie probablement un accès à la mémoire hors de portée (ou, des permissions hors de portée).

Vérifiez /var/crash on peut less les fichiers d'accident.

Pour trouver tous les fichiers de votre $HOME répertoire que vous ne possédez pas :

sudo find $HOME \! -user $USER -ls

Si, après inspection, cogitation et réinspection, vous voulez récupérer la propriété :

sudo find $HOME \! -user $USER -print0 | xargs -0 -r sudo chown $(id -u):$(id -g)

0voto

Green Tea Points 1

Comme ce bogue est assez général, je partage deux choses qui ont fonctionné pour moi lorsque je me suis trouvé dans cette situation avec nautilus. J'espère que cela vous aidera

Première chose : Ne pas courir sudo nautilus

Si vous l'avez fait, vous devez d'abord récupérer la propriété de tous les fichiers dans votre fichier $HOME . Pour ce faire, exécutez la commande suivante dans votre répertoire personnel.

sudo chown userhome_directory $USER:$USER

Vous pouvez vérifier si tout est en ordre en exécutant ls -l vous devriez voir que le fichier vous appartient.

Voici maintenant les deux solutions de contournement qui ont fonctionné pour moi :

  • Parfois, c'est juste le tracker qui est bogué, alors vous pouvez le réinitialiser avec sudo tracker reset -r . Le site -r est de réinitialiser le système. (Vous pouvez essayer une réinitialisation douce avant avec l'option -e )
  • L'option suivante est davantage un diagnostic (vous pouvez sauter à la fin pour voir :
  1. Essayez de créer un nouvel utilisateur pour vérifier si le problème persiste d'une session à l'autre. Si c'est le cas, je ne peux pas vous aider davantage.

  2. Depuis le nouvel utilisateur, ouvrez un terminal et exécutez (en supposant le nom d'utilisateur)

    su username cd $HOME

A partir de là, supprimer le cache rm -r .cache et renommer .profile .config .local NE LES SUPPRIMEZ PAS !

mv .config .config.old
mv .profile .profile.old
mv .local .local.old

Maintenant, vous allez vous reconnecter à votre utilisateur d'origine (après avoir effectué toutes les étapes d'initialisation) et voir si vous pouvez ouvrir nautilus. Si la réponse est oui puis fermez la session, reconnectez-vous à votre utilisateur temporaire et exécutez :

su username
cd $HOME
rm -r .config .local .profile

et récupérer un des répertoires renommés (local.old, profile.old, config.old). Par exemple pour voir si local.old est le problème alors mv .local.old local et vous reconnecter à votre session. Si Nautilus fonctionne toujours, essayez avec un autre répertoire (profile.old, config.old) et ainsi de suite jusqu'à ce que vous ayez trouvé celui qui pose problème. N'oubliez pas de supprimer les répertoires générés à chaque fois.

Une fois que vous avez trouvé celui qui pose problème, regardez à l'intérieur et essayez de voir ce qui cause le problème (potentiellement avec la même approche).

Option la plus rapide à tester : Mon problème personnel était dû à un fichier corrompu dans la base de données de l'UE. $HOME/.config/nautilus donc j'ai juste exécuté mv .config/nautilus .config/nautilus.old et redémarrer ma session et cela a fonctionné à nouveau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X