Impossibile spostare il file nel cestino quando si tenta di eliminare un file in Nautilus


16

Sto cercando di eliminare i file in Nautilus e ogni volta che provo a eliminarne uno mi dà sempre questo messaggio:

Impossibile spostare il file nel cestino, vuoi eliminarlo immediatamente?

Quindi mi fa diverse domande. Tutto quello che voglio è che quando premo Deletesulla tastiera, lo manda automaticamente al cestino. Non chiedermelo ogni volta.

Il problema riguarda partizioni NTFS, unità esterne ma include anche filesystem Linux.

Quali sono i motivi per cui nautilus non è in grado di passare alla spazzatura?

inserisci qui la descrizione dell'immagine


puoi fornire il percorso completo (assoluto) del file
aneeshep,

In questo caso è / var / www. Ne sono già il proprietario e le autorizzazioni sono buone. Ma ci sono anche unità esterne come hard disk e pen drive che hanno lo stesso problema.
Luis Alvarado,

Risposte:


10

(A proposito di supporti rimovibili, non il caso dell'utente poiché si trattava di un bug risolto con un aggiornamento)

Questo comportamento si verifica perché quando l'unità è montata non si è considerati proprietari, pertanto non è possibile creare un cestino. Nessun uid o gid è stato assegnato e poiché non è possibile creare una cartella del cestino nell'unità, viene offerta solo la possibilità di eliminare automaticamente i file.

In tal caso hai 2 opzioni: taglia i file nel tuo file system Linux ed eliminali lì (che vanifica lo scopo di premere delete e i file vengono eliminati ) o assicurati di aver assegnato le autorizzazioni corrette durante il montaggio dell'unità.

Crea una nuova regola per le tue unità montate automaticamente con queste righe, usa il tuo editor di testo preferito per questo

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"

Riavvia il computer e le unità ntfs verranno montate utilizzando questa regola personalizzata, per modificare le autorizzazioni per l'unità montata dai un'occhiata alla linea $env{mount_options},gid=46,dmask=000,fmask=111,utf8", l'opzione gid=46dovrebbe montare l'unità ntfs con privilegi di gruppo ( 46(plugdev)è il gruppo che consente a un utente di montare un'unità in Ubuntu) fmaske le dmaskimpostazioni per scrivere, creare, eliminare file / cartelle sull'unità.

Modificalo in base alle esigenze. Dovrai ordinare altri file system da solo in base a ciascun tipo, ma questo dovrebbe iniziare.

( Fonte per la udevregola )


Questo funziona anche per me? Ho un ambiente leggermente diverso: utilizzo solo Linux e ho NFS montato a casa dove l'eliminazione funziona abbastanza bene e esiste anche un cestino, ma ho collegato una directory reposal filesystem locale /local/home/me/repos(è più veloce). Solo all'interno di questa directory e nelle sottodirectory la cancellazione non funziona. Le directory /local/homesono di proprietà di root 755, ma le mie directory /local/home/me/repossono di mia proprietà con modalità 700.
matematica

Domanda: i valori di questa riga possono $env{mount_options},gid=46,dmask=000,fmask=111,utf8"essere scritti anche nella <options>colonna di fstab? È la stessa cosa?
Nearoo,

8

Per i casi in cui l'utente non può eliminare un file archiviato in una partizione non rimovibile (Ubuntu 14.04)

Come affermato da Bruno Pereira, questo comportamento si verifica perché l'utente non dispone delle autorizzazioni di scrittura nel punto di montaggio della partizione (nel caso OP, / var), quindi non è possibile creare una directory per il cestino.

In questo caso, l'OP non può spostarsi nei file cestino memorizzati nella partizione / var. Per risolvere questo problema:

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

Dovrai sostituire:

  • 1000 dal tuo identificativo utente (vedi il numero che segue il tuo nome di accesso nel file / etc / passwd)
  • user:group dal nome e dal gruppo di accesso, rispettivamente

4

Il 16.04, ho riscontrato lo stesso problema. La soluzione stava aprendo Disks, facendo clic sulla partizione NTFS -> sull'icona a forma di ingranaggi sotto (Opzioni di partizione aggiuntive) -> "Modifica opzioni di mount" e aggiungendo "uid = 1000" (senza virgolette, separati da una virgola) alla riga sopra il Mount Point (vedi foto).Modifica delle opzioni di montaggio di fstab tramite l'utility Disco

uid dovrebbe essere impostato su un numero alternativo da 1000 come restituito dal comando "id" dal terminale se non sei l'utente originale, come menzionato qui .


0

Avevo questo problema quando ho aggiunto una riga in / etc / fstab per montare una partizione NTFS. Non era presente se ho montato la partizione "manualmente" in nautilus.

La documentazione di Ubuntu spiega che dovresti montare i dischi usando udisks, che è quello che usa nautilus.

Riepilogo dei passaggi per il montaggio automatico di una partizione:

  1. Prerequisito: montare la partizione e trovare il suo nome (ad esempio / dev / sdb1) usando il mountcomando.

  2. Ottieni il uuid della partizione. L'uuid appare prima di ->in questo comando:

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

  3. Il comando per il montaggio sarà:

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

  4. Aggiungi questo comando nelle tue applicazioni di avvio


1
Questo non ti permette di eseguire file nella partizione ntfs
Anwar,

-1

Per chi ama le GUI, ecco come risolverlo graficamente:

  1. Apri l'editor dei file nemo ( sudo apt-get install nemoda installare) con privilegi elevati, digitando sudo nemoin un terminale. [Probabilmente funzionerà anche in nautilus, ma ho provato solo in nemo].
  2. Fai clic con il pulsante destro del mouse sul dispositivo montato in cui sono archiviati i file e vai su "Proprietà".
  3. Vai alla scheda "Autorizzazioni" e, in "Proprietario", fai clic sul menu a discesa e seleziona il tuo nome utente. Chiudi tutto e torna al tuo normale file manager.
  4. Una volta impostato come proprietario del dispositivo, ora dovrebbe creare un cestino sul dispositivo e consentire di premere il pulsante Elimina per spostare automaticamente i file nel cestino.

L'esecuzione di un programma di interfaccia grafica con sudo non è generalmente una buona idea; Molte cose possono andare male - come, ad esempio, quando si esegue nemola prima volta, scriverà i suoi file di configurazione e creerà le directory di cui ha bisogno. Questi saranno di proprietà roote non scrivibili dall'utente. E ci vorrà del tempo prima che il problema venga notato - il sudocomando potrebbe essere dimenticato a lungo. Ad esempio, penso che nemocrei la directory ~user/.local/share/nemo/scripts/al primo avvio.
Volker Siegel,

Interessante ....
Gabriel Staples
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.