Impossible de déplacer le fichier vers la corbeille lors de la tentative de suppression d'un fichier dans Nautilus


16

J'essaie de supprimer des fichiers dans Nautilus et chaque fois que j'essaie d'en supprimer un, il me donne toujours ce message:

Impossible de déplacer le fichier dans la corbeille, souhaitez-vous supprimer immédiatement?

Ensuite, cela me pose plusieurs questions. Tout ce que je veux, c'est que lorsque j'appuie sur Deletele clavier, il l'envoie automatiquement à la poubelle. Ne pas me demander à chaque fois.

Le problème concerne les partitions NTFS, les disques externes mais également les systèmes de fichiers Linux.

Quelles sont les raisons pour lesquelles nautilus ne peut pas se déplacer à la poubelle?

entrez la description de l'image ici


pouvez-vous fournir le chemin complet (absolu) du fichier
aneeshep

Dans ce cas, c'est / var / www. J'en suis déjà propriétaire et les autorisations sont bonnes. Mais il existe également des unités externes comme les disques durs et les clés USB qui ont le même problème.
Luis Alvarado

Réponses:


10

(A propos des supports amovibles, pas le cas de l'utilisateur car il s'agissait d'un bug résolu avec une mise à jour)

Ce problème se produit car lorsque le lecteur est monté, vous n'êtes pas considéré comme le propriétaire de sorte qu'une corbeille ne peut pas être créée. Aucun UID ou GID n'a été attribué et comme un dossier de corbeille ne peut pas être créé dans le lecteur, vous avez uniquement le choix de supprimer les fichiers automatiquement.

Dans ce cas, vous avez 2 options: coupez les fichiers dans votre système de fichiers Linux et supprimez-les là (ce qui va à l'encontre du but de la suppression et les fichiers sont supprimés ) ou assurez-vous que vous disposez des autorisations appropriées lors du montage du lecteur.

Créez une nouvelle règle pour vos lecteurs montés automatiquement avec ces lignes, utilisez votre éditeur de texte préféré pour cela

gksudo gedit /etc/udev/rules.d/10-my-media-automount.rules

# vim:enc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=udevrules:
#
# /etc/udev/rules.d/10-my-media-automount.rules

# start at sdb to ignore the system hard drive
KERNEL!="sd[b-z]*", GOTO="my_media_automount_end"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="my_media_automount_end"

# import some useful filesystem info as variables
IMPORT{program}="/sbin/blkid -o udev -p %N"

# get the label if present, otherwise assign one based on device/partition
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# create the dir in /media and symlink it to /mnt
ACTION=="add", RUN+="/bin/mkdir -p '/media/%E{dir_name}'"

# global mount options
ACTION=="add", ENV{mount_options}="relatime"
# filesystem-specific mount options (777/666 dir/file perms for ntfs/vfat) 
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},gid=46,dmask=000,fmask=111,utf8"

# automount ntfs filesystems using ntfs-3g driver
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mount -t ntfs-3g -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"
# automount all other filesystems
ACTION=="add", ENV{ID_FS_TYPE}!="ntfs", RUN+="/bin/mount -t auto -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"

# clean up after device removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l '/media/%E{dir_name}'", RUN+="/bin/rmdir '/media/%E{dir_name}'"

# exit
LABEL="my_media_automount_end"

Redémarrez votre ordinateur et vos lecteurs ntfs seront montés à l'aide de cette règle personnalisée, pour modifier les autorisations pour le lecteur monté jetez un œil à la ligne $env{mount_options},gid=46,dmask=000,fmask=111,utf8", l'option gid=46doit monter le lecteur ntfs avec des privilèges de groupe ( 46(plugdev)est le groupe qui permet à un utilisateur de monter un lecteur dans Ubuntu) fmasket les dmaskparamètres pour écrire, créer, supprimer des fichiers / dossiers sur le lecteur.

Changez-le selon les besoins. Vous devrez trier les autres systèmes de fichiers par vous-même en fonction de chaque type, mais cela devrait vous aider à démarrer.

( Source pour la udevrègle )


Est-ce que cela fonctionne aussi pour moi? J'ai un environnement légèrement différent: en utilisant Linux uniquement, et j'ai installé à la maison NFS où la suppression fonctionne assez bien et il existe également une corbeille, mais j'ai créé un lien symbolique entre un répertoire reposet le système de fichiers local /local/home/me/repos(c'est plus rapide). Uniquement à l'intérieur de ce répertoire et des sous-répertoires, la suppression ne fonctionne pas. Les répertoires /local/homeappartiennent à root 755, mais mes répertoires /local/home/me/reposappartiennent à moi avec les modalités 700.
math

Question: Les valeurs de cette ligne: $env{mount_options},gid=46,dmask=000,fmask=111,utf8"peuvent-elles également être écrites dans la <options>colonne de fstab? Est-ce la même chose?
Nearoo

8

Pour les cas où l'utilisateur ne peut pas supprimer un fichier stocké dans une partition non amovible (Ubuntu 14.04)

Comme l'a déclaré Bruno Pereira, ce comportement se produit car l'utilisateur n'a pas d'autorisations d'écriture au point de montage de la partition (dans le cas OP, / var), donc un répertoire pour la corbeille ne peut pas être créé.

Dans ce cas, l'OP ne peut pas se déplacer vers les fichiers de la corbeille stockés sur la partition / var. Pour résoudre ce problème:

$ cd /var
$ sudo mkdir .Trash-1000
$ chown user:group .Trash-1000

Vous devrez remplacer:

  • 1000 par votre identifiant (voir le numéro suivant votre nom de connexion dans le fichier / etc / passwd)
  • user:group par votre nom de connexion et votre groupe, respectivement

4

Le 16.04, j'ai rencontré le même problème. La solution consistait à ouvrir des disques, à cliquer sur la partition NTFS -> sur l'icône de petits engrenages en dessous (options de partition supplémentaires) -> "Modifier les options de montage" et à ajouter "uid = 1000" (sans guillemets, séparés par une virgule) à la ligne au-dessus du point de montage (voir photo).Modification des options de montage fstab via l'utilitaire de disque

uid doit être défini sur un autre numéro de 1000 tel que renvoyé par la commande "id" du terminal si vous n'êtes pas l'utilisateur d'origine, comme mentionné ici .


0

J'ai eu ce problème lorsque j'ai ajouté une ligne dans / etc / fstab pour monter une partition ntfs. Il n'était pas présent si je montais la partition "manuellement" dans nautilus.

La documentation Ubuntu explique que vous devez monter des disques en utilisant des udisks, ce que Nautilus utilise.

Résumé des étapes de montage automatique d'une partition:

  1. Prérequis: montez la partition et recherchez son nom (par exemple / dev / sdb1) à l'aide de la mountcommande.

  2. Obtenez l'uuid de la partition. L'uuid apparaît avant le ->dans cette commande:

    ls -al /dev/disk/by-uuid/

  3. La commande de montage sera:

    /usr/bin/udisks --mount /dev/disk/by-uuid/<the uuid you found previously>

  4. Ajoutez cette commande dans vos applications de démarrage


1
Cela ne vous permet pas d'exécuter des fichiers dans la partition ntfs
Anwar

-1

Pour ceux qui aiment les interfaces graphiques, voici comment résoudre ce problème graphiquement:

  1. Ouvrez l'éditeur de fichiers nemo ( sudo apt-get install nemoà installer) avec des privilèges élevés, en tapant sudo nemodans un terminal. [Cela fonctionnera probablement aussi dans nautilus, mais je n'ai testé que dans nemo].
  2. Faites un clic droit sur le périphérique monté où vos fichiers sont stockés, puis allez dans "Propriétés".
  3. Accédez à l'onglet "Autorisations" et pour "Propriétaire", cliquez sur le menu déroulant et sélectionnez votre nom d'utilisateur. Fermez tout et revenez à votre gestionnaire de fichiers normal.
  4. Une fois que vous avez défini le propriétaire de l'appareil, il devrait maintenant créer une corbeille pour vous sur cet appareil et vous permettre d'appuyer sur le bouton Supprimer pour déplacer automatiquement les fichiers vers la corbeille.

L'exécution d'un programme GUI avec sudo n'est généralement pas une bonne idée; Beaucoup de choses peuvent mal se passer - comme, par exemple, lors de nemosa première exécution , il écrit ses fichiers de configuration et crée les répertoires dont il a besoin. Celles-ci seront la propriété rootde l'utilisateur et ne pourront pas être écrites par lui. Et cela prendra un certain temps avant que le problème ne soit remarqué - la sudocommande peut être oubliée depuis longtemps. Par exemple, je pense que nemocrée le répertoire ~user/.local/share/nemo/scripts/lors de la première exécution.
Volker Siegel

Intéressant ....
Gabriel Staples
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.