Datei kann nicht in den Papierkorb verschoben werden, wenn versucht wird, eine Datei in Nautilus zu löschen

16

Ich versuche, Dateien in Nautilus zu löschen, und jedes Mal, wenn ich versuche, eine zu löschen, erhalte ich folgende Meldung:

Datei kann nicht in den Papierkorb verschoben werden. Möchten Sie sofort löschen?

Dann gibt es mir mehrere Fragen. Ich möchte nur, dass Deletedie Tastatur beim Drücken automatisch in den Papierkorb verschoben wird. Mich nicht jedes Mal zu fragen.

Das Problem betrifft NTFS-Partitionen, externe Laufwerke, aber auch Linux-Dateisysteme.

Was sind die Gründe dafür, dass Nautilus nicht in den Müll wandern kann?

Bildbeschreibung hier eingeben

Luis Alvarado
quelle
können Sie den vollständigen (absoluten) Pfad der Datei
angeben
In diesem Fall ist / var / www. Bin schon der Besitzer und die Berechtigungen sind gut. Es gibt aber auch externe Einheiten wie Festplatten und USB-Sticks, die das gleiche Problem haben.
Luis Alvarado

Antworten:

10

(Über Wechselmedien, nicht der Fall vom Benutzer, da es ein Fehler war, der mit einem Update behoben wurde)

Dieses Verhalten tritt auf, weil Sie, wenn das Laufwerk gemountet ist, nicht als Besitzer angesehen werden und daher kein Papierkorb erstellt werden kann. Es wurde keine UID oder GID zugewiesen. Da auf dem Laufwerk kein Papierkorbordner erstellt werden kann, können Sie die Dateien nur automatisch löschen.

In diesem Fall haben Sie zwei Möglichkeiten: Schneiden Sie die Dateien in Ihr Linux-Dateisystem und löschen Sie sie dort (was den Zweck von " Löschen" zunichte macht und die Dateien gelöscht werden ), oder stellen Sie sicher, dass Sie beim Mounten des Laufwerks die richtigen Berechtigungen erhalten.

Erstellen Sie mit diesen Zeilen eine neue Regel für Ihre automatisch bereitgestellten Laufwerke. Verwenden Sie dazu Ihren bevorzugten Texteditor

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"

Starten Sie Ihren Computer neu und Ihre NTFS-Laufwerke werden mit dieser benutzerdefinierten Regel gemountet. Um die Berechtigungen für das gemountete Laufwerk zu ändern, sehen Sie sich die Zeile an $env{mount_options},gid=46,dmask=000,fmask=111,utf8". Die Option gid=46sollte das NTFS-Laufwerk mit Gruppenberechtigungen mounten ( 46(plugdev)ist die Gruppe, die einem Benutzer das Mounten ermöglicht ein Laufwerk in Ubuntu) fmaskund dmaskEinstellungen zum Schreiben, Erstellen und Löschen von Dateien / Ordnern auf dem Laufwerk.

Ändern Sie es nach Bedarf. Sie müssen andere Dateisysteme je nach Typ selbst aussortieren, dies sollte jedoch den Anfang machen.

( Quelle für die udevRegel )

Bruno Pereira
quelle
Funktioniert das auch bei mir? Ich habe eine etwas andere Umgebung: Ich benutze nur Linux, und ich habe NFS nach Hause gemountet, wo das Löschen ziemlich gut funktioniert und es gibt auch einen Papierkorb, aber ich habe ein Verzeichnis reposmit dem lokalen Dateisystem verknüpft /local/home/me/repos(es ist schneller). Nur innerhalb dieses Verzeichnisses und der Unterverzeichnisse funktioniert das Löschen nicht. Die Verzeichnisse /local/homegehören root 755, aber meine Verzeichnisse /local/home/me/reposgehören mir mit den Modalitäten 700.
math
Frage: Können die Werte dieser Zeile: $env{mount_options},gid=46,dmask=000,fmask=111,utf8"auch in die <options>Spalte von geschrieben werden fstab? Ist das das selbe
Nearoo
8

Für Fälle, in denen der Benutzer eine auf einer nicht entfernbaren Partition gespeicherte Datei nicht löschen kann (Ubuntu 14.04)

Wie Bruno Pereira feststellte, tritt dieses Verhalten auf, weil der Benutzer keine Schreibrechte am Einhängepunkt der Partition hat (im OP-Fall / var), so dass kein Verzeichnis für den Papierkorb erstellt werden kann.

In diesem Fall kann das OP nicht in den Papierkorb der Partition / var verschoben werden. So lösen Sie dieses Problem:

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

Sie müssen ersetzen:

  • 1000 anhand Ihrer Benutzerkennung (siehe Nummer nach Ihrem Anmeldenamen in der Datei / etc / passwd)
  • user:group durch Ihren Login-Namen bzw. Ihre Gruppe
chus
quelle
4

Am 16.04 bin ich auf dasselbe Problem gestoßen. Die Lösung bestand darin, die Datenträger zu öffnen, auf die NTFS-Partition zu klicken -> auf das kleine Zahnradsymbol darunter (Zusätzliche Partitionsoptionen) -> "Mount-Optionen bearbeiten" und der Zeile "uid = 1000" (keine Anführungszeichen, durch Komma getrennt) hinzuzufügen über dem Mount Point (siehe Bild).Ändern der fstab-Mount-Optionen über das Festplatten-Dienstprogramm

uid sollte auf eine alternative Zahl von 1000 gesetzt werden, die vom Befehl "id" des Terminals zurückgegeben wird, wenn Sie nicht der ursprüngliche Benutzer sind, wie hier erwähnt .

Greg Kramida
quelle
0

Früher hatte ich dieses Problem, als ich eine Zeile in / etc / fstab zum Mounten einer NTFS-Partition hinzufügte. Es war nicht vorhanden, wenn ich die Partition "manuell" in Nautilus eingehängt habe.

In der Ubuntu-Dokumentation wird erklärt, dass Sie Datenträger mit Udisks mounten sollten. Dies wird von Nautilus verwendet.

Zusammenfassung der Schritte zum automatischen Mounten einer Partition:

  1. Voraussetzung: Hängen Sie die Partition ein und suchen Sie ihren Namen (z. B. / dev / sdb1) mit dem mountBefehl.

  2. Holen Sie sich die UUID der Partition. Die UUID erscheint vor der ->in diesem Befehl:

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

  3. Der Befehl zum Mounten lautet:

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

  4. Fügen Sie diesen Befehl in Ihre Startanwendungen ein

Aurelien
quelle
1
Auf diese Weise können Sie keine Dateien in der ntfs-Partition ausführen
Anwar
-1

Für diejenigen, die GUIs mögen, ist hier, wie man dies grafisch löst:

  1. Öffnen Sie den NEMO-Datei-Editor ( sudo apt-get install nemozur Installation) mit erhöhten Rechten, indem Sie sudo nemoin ein Terminal eingeben . [Dies wird wahrscheinlich auch in Nautilus funktionieren, aber ich habe es nur in Nemo getestet].
  2. Klicken Sie mit der rechten Maustaste auf das gemountete Gerät, auf dem Ihre Dateien gespeichert sind, und gehen Sie zu "Eigenschaften".
  3. Gehen Sie zur Registerkarte "Berechtigungen", und klicken Sie für "Besitzer" auf das Dropdown-Menü und wählen Sie Ihren Benutzernamen aus. Schließen Sie alles und kehren Sie zu Ihrem normalen Dateimanager zurück.
  4. Wenn Sie als Eigentümer des Geräts festgelegt haben, sollte es nun einen Papierkorb für dieses Gerät erstellen und Sie können die Schaltfläche "Löschen" drücken, um Dateien automatisch in den Papierkorb zu verschieben.
Gabriel Staples
quelle
Das Ausführen eines GUI-Programms mit sudo ist im Allgemeinen keine gute Idee. Viele Dinge können schief gehen - zum Beispiel, wenn es nemozum ersten Mal ausgeführt wird, werden die Konfigurationsdateien geschrieben und die benötigten Verzeichnisse erstellt. Diese sind Eigentum rootdes Benutzers und nicht beschreibbar. Und es wird einige Zeit dauern, bis das Problem erkannt wird - der sudoBefehl wird möglicherweise lange vergessen. Ich denke zum Beispiel, dass nemodas Verzeichnis ~user/.local/share/nemo/scripts/beim ersten Start erstellt wird.
Volker Siegel
Interessant ....
Gabriel Staples