Impossible de supprimer le fichier de la corbeille qui y a été placé en tant que root

25

Je connais les dangers de l'utilisation de l'accès root, donc veuillez renoncer aux conférences. J'essaie d'être prudent et le serai doublement à partir de maintenant.

J'utilisais le navigateur de fichiers avec un accès root afin de modifier certaines autorisations de fichier. Au cours du processus, j'ai supprimé certains fichiers (je dois dire que je les ai supprimés). Je ne savais pas que les fichiers iraient dans la corbeille en tant que root et maintenant je ne peux pas les supprimer car je n'ai pas l'autorisation de les lire mais je ne sais pas comment y accéder pour modifier les autorisations car je ne sais pas comment aller à la poubelle en tant que root. Tout ce que je reçois est un message disant que:

Cet emplacement n'a pas pu être affiché.

Désolé, impossible d'afficher tout le contenu de trash:///: Opération non prise en charge

J'ai cherché autour pour essayer de trouver des messages à ce sujet, mais je n'ai trouvé que des informations obsolètes sur un fichier caché dans le répertoire racine. Cela ne semble plus s'appliquer, donc je suis coincé avec un fichier dans ma corbeille que je ne peux pas supprimer et auquel je n'ai pas accès.

J'utilise Ubuntu 14.04 64bit sur un ordinateur portable ASUS x401a.

jeop
la source
1
que diriez-vous de relancer nautilus en tant que root et de vider la poubelle? Sinon, vous devriez pouvoir accéder à votre dossier poubelle via le terminal viasudo cd /home/your_username/.local/share/Trash
Aserre
nous n'utilisons pas "résolu" dans les titres ici, au lieu de cela, cochez la coche verte sur la réponse qui a fonctionné pour vous.
Mateo
Dans ce cas, la réponse était dans le commentaire de Ploutox. Je n'arrive pas à le marquer. Que puis-je faire?
jeop
@jeop quand quelqu'un, surtout quelqu'un avec suffisamment de représentants pour mieux savoir, commente au lieu de réponses, je le colle moi-même comme réponse. vous pouvez toujours en faire un wiki communautaire si vous ne voulez pas de son représentant. voir meta.askubuntu.com/questions/6706/convert-comment-as-answer
djeikyb

Réponses:

26

Vous aurez besoin d'un accès root à la corbeille pour pouvoir supprimer ces fichiers - la façon la plus simple de le faire dans un sens temporaire est d'ouvrir une fenêtre de terminal alt+ ctrl+ tet d'entrer la commande

gksudo nautilus /home/your_username/.local/share/Trash

Cela exécutera le gestionnaire de fichiers avec des autorisations de super-utilisateur et vous devriez pouvoir vider la corbeille d'ici. Supprimez le fichier appartenant à la racine.

Lorsque vous avez terminé, n'oubliez pas de fermer le programme!

Charles Green
la source
1
Merci pour votre réponse mais j'ai essayé et tout ce que je reçois est le message que j'ai déclaré ci-dessus: "Cet emplacement n'a pas pu être affiché. Désolé, impossible d'afficher tout le contenu de" trash: /// ": Opération non prise en charge . "
jeop
K - alors vous pourriez essayer d'utiliser sudo comme un type de shell interactif sudo -i, puis démarrer nautilus à partir de la ligne de commande ...
Charles Green
15

Si vous souhaitez supprimer tout le contenu de la corbeille, vous pouvez utiliser sudo et supprimer tout le répertoire. N'oubliez pas de refaire le répertoire afin qu'il ne pose aucun problème. Le code est:

sudo rm -rf /home/User_Name/.local/share/Trash && mkdir /home/User_Name/.local/share/Trash

Cela fera tout avec une seule entrée dans le terminal.

Michael McCann
la source
9

J'utilise beaucoup trash-cli personnellement . Je l'utilise comme alternative rmà la sécurité (par exemple trash -r my-folder).

sudo apt install trash-cli

Une fois installé, vous pouvez faire

sudo trash-empty
Prinzhorn
la source
4

exécutez cela dans votre cmd

sudo rm -rf ~/.local/share/Trash/*
MALLAPU DHEERAJ REDDY
la source
2
Vous devez expliquer ce que cela fait exactement - et peut-être modifier la commande pour ne pas tout supprimer dans la corbeille.
guntbert
1

Utilisez le terminal! 1evel (glisser-déposer)

  • Ouvrez un terminal avec Ctrl+ Alt+ t.
  • Pour reprendre possession des fichiers et continuer dans votre gestionnaire de fichiers, tapez la commande sudo chown -R $USER:$USERet assurez-vous qu'il y a un espace à la fin.
  • Faites maintenant glisser le fichier ou le dossier concerné de votre gestionnaire de fichiers vers le terminal.

    • Le résultat devrait ressembler à ceci:

      sudo chown -R $USER:$USER '/home/$USER/.local/share/Trash/files/some_file.txt'
      

      ou ca:

      sudo chown -R $USER:$USER '/media/$USER/path to external drive/.Trash-1000/files/sömё fïle thät may have fancy encodings, ſpaces & stu𝖋f.txt'
      

      $USERreprésente votre nom d'utilisateur dans le nom du chemin.

  • Exécutez la commande en appuyant sur Enteret actualisez probablement la vue avec F5dans le gestionnaire de fichiers.

  • Comme l'a noté David Foerster, vous pouvez remplacer les apostrophes par des guillemets, pour avoir une expansion variable du shell.

L'utilisation du terminal avec des fichiers n'est pas si difficile lorsque le glisser-déposer fonctionne, n'est-ce pas? ^^ C'est une fonctionnalité très pratique lorsque vous savez comment l'utiliser.

Vous pouvez également supprimer des fichiers uniques avec rm. La suppression de dossiers peut être effectuée avec rmdirdes dossiers vides ou rm -rpour supprimer des fichiers et des dossiers de manière récursive. Bien que la méthode du glisser-déposer devrait fonctionner dans presque tous les cas et échapper correctement tout ce que vous devez toujours faire attention lors de l'utilisation des commandes de suppression. Posséder les fichiers et les supprimer dans votre gestionnaire de fichiers est la solution la plus sûre.

en relation

LiveWireBT
la source
@DavidFoerster Votre modification était généralement correcte, mais les apostrophes sont générées automatiquement en faisant glisser le fichier dans le terminal. Les remplacer dans les exemples entraînera de la confusion.
LiveWireBT
Je vais suggérer une autre modification, qui explique le sens de l' $USERépoque, car elle n'apparaîtra pas comme ça sur le terminal non plus.
David Foerster
-1

Si vous avez midnight commanderinstallé, vous pouvez l'ouvrir en utilisant sudo:

sudo mc 

aller à:

~/.local/share/Trash/

et utilisez alt + F6pour supprimer les fichiers souhaités.

GM
la source