Nie można przenieść pliku do kosza z ostrzeżeniem podczas próby usunięcia pliku w Nautilusie

16

Próbuję usunąć pliki w Nautilusie i za każdym razem, gdy próbuję je usunąć, zawsze wyświetla mi się ten komunikat:

Nie możesz przenieść pliku do kosza, czy chcesz go natychmiast usunąć?

Potem daje mi kilka pytań. Chcę tylko, aby po naciśnięciu Deleteklawiatury wysyła ją automatycznie do kosza. Nie pytaj mnie za każdym razem.

Problem dotyczy partycji NTFS, dysków zewnętrznych, ale także systemów plików Linux.

Jakie są powody, dla których łodzik nie jest w stanie przenieść się do kosza?

wprowadź opis zdjęcia tutaj

Luis Alvarado
źródło
czy możesz podać pełną (bezwzględną) ścieżkę do pliku
aneeshep
W tym przypadku jest / var / www. Jestem już jego właścicielem i uprawnienia są dobre. Ale są też jednostki zewnętrzne, takie jak dyski twarde i pendrive, które mają ten sam problem.
Luis Alvarado,

Odpowiedzi:

10

(O nośnikach wymiennych, nie w przypadku użytkownika, ponieważ był to błąd rozwiązany przez aktualizację)

Takie zachowanie występuje, ponieważ po zamontowaniu dysku użytkownik nie jest uważany za właściciela, dlatego nie można utworzyć kosza na śmieci. Nie przypisano identyfikatora UID ani gid, a ponieważ nie można utworzyć folderu kosza na dysku, masz tylko opcję automatycznego usunięcia plików.

W takim przypadku masz 2 opcje: wkręć pliki do systemu plików Linux i usuń je tam (co przeczy celowi usunięcia z prasy i usunięcia plików ) lub upewnij się, że masz przypisane odpowiednie uprawnienia podczas montowania napędu.

Utwórz nowe reguły dla automatycznie montowanych napędów za pomocą tych linii, użyj do tego swojego ulubionego edytora tekstu

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"

Uruchom ponownie komputer, a dyski NTFS zostaną zamontowane przy użyciu tej niestandardowej reguły. Aby zmienić uprawnienia dla zamontowanego dysku, spójrz na linię $env{mount_options},gid=46,dmask=000,fmask=111,utf8", opcja gid=46powinna zamontować dysk NTFS z uprawnieniami grupy ( 46(plugdev)jest to grupa, która pozwala użytkownikowi zamontować dysk w Ubuntu) fmaskoraz dmaskustawienia zapisu, tworzenia, usuwania plików / folderów na dysku.

Zmień go zgodnie z potrzebami. Będziesz musiał samodzielnie uporządkować inne systemy plików według każdego typu, ale to powinno zacząć.

( Źródło udevreguły )

Bruno Pereira
źródło
Czy to też działa dla mnie? Mam nieco inne środowisko: Używam tylko Linuksa i mam NFS zamontowany do domu, gdzie usuwanie działa całkiem dobrze i istnieje również kosz, ale dowiązałem katalog reposdo lokalnego systemu plików /local/home/me/repos(jest szybszy). Usuwanie w tym katalogu i podkatalogach nie działa. Katalogi /local/homesą własnością root 755, ale moje katalogi /local/home/me/repossą własnością mnie z modalnością 700.
matem.
Pytanie: Czy wartości tego wiersza: $env{mount_options},gid=46,dmask=000,fmask=111,utf8"można również zapisać w <options>kolumnie fstab? Czy to to samo?
Nearoo
8

W przypadkach, gdy użytkownik nie może usunąć pliku zapisanego na niewymiennej partycji (Ubuntu 14.04)

Jak stwierdził Bruno Pereira, takie zachowanie ma miejsce, ponieważ użytkownik nie ma uprawnień do zapisu w punkcie montowania partycji (w przypadku OP, / var), więc nie można utworzyć katalogu dla kosza.

W takim przypadku OP nie może przejść do plików śmieci zapisanych na partycji / var. Aby rozwiązać ten problem:

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

Będziesz musiał wymienić:

  • 1000 według twojego identyfikatora użytkownika (patrz numer następujący po Twojej nazwie logowania w pliku / etc / passwd)
  • user:group według nazwy użytkownika i grupy, odpowiednio
chus
źródło
4

16.04 napotkałem ten sam problem. Rozwiązaniem było otwieranie dysków, kliknięcie partycji NTFS -> poniżej ikony małego koła zębatego (Dodatkowe opcje partycji) -> „Edytuj opcje montowania” i dodanie do linii „uid = 1000” (bez cudzysłowu, oddzielonych przecinkiem) powyżej punktu montażu (patrz zdjęcie).Modyfikowanie opcji montowania fstab za pomocą narzędzia Dysk

uid powinien być ustawiony na alternatywny numer od 1000, zwracany przez polecenie „id” z terminala, jeśli nie jesteś pierwotnym użytkownikiem, jak wspomniano tutaj .

Greg Kramida
źródło
0

Miałem ten problem, kiedy dodałem linię w / etc / fstab do montowania partycji NTFS. Nie było go, gdybym zamontował partycję „ręcznie” w nautilusie.

Dokumentacja Ubuntu wyjaśnia, że ​​należy montować dyski za pomocą udisk, czego używa nautilus.

Podsumowanie kroków automatycznego montażu partycji:

  1. Warunek: zamontuj partycję i znajdź jej nazwę (na przykład / dev / sdb1) za pomocą mountkomendy.

  2. Uzyskaj identyfikator UUID partycji. Uuid pojawia się przed ->w tym poleceniu:

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

  3. Poleceniem montażu będzie:

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

  4. Dodaj to polecenie do aplikacji startowych

Aurelien
źródło
1
To nie pozwala na uruchamianie plików na partycji NTFS
Anwar
-1

Dla tych, którzy lubią GUI, oto jak rozwiązać to graficznie:

  1. Otwórz edytor plików nemo ( sudo apt-get install nemodo zainstalowania) z podwyższonymi uprawnieniami, wpisując sudo nemow terminalu. [Prawdopodobnie zadziała to również na nautilusie, ale testowałem tylko w nemo].
  2. Kliknij prawym przyciskiem myszy zamontowane urządzenie, na którym są przechowywane pliki, i przejdź do „Właściwości”.
  3. Przejdź na kartę „Uprawnienia”, a następnie w polu „Właściciel” kliknij menu rozwijane i wybierz swoją nazwę użytkownika. Zamknij wszystko i wróć do normalnego menedżera plików.
  4. Po ustawieniu jako właściciela urządzenia powinno ono teraz utworzyć dla Ciebie kosz na tym urządzeniu i pozwolić na naciśnięcie przycisku usuwania, aby automatycznie przenieść pliki do kosza.
Gabriel Staples
źródło
Uruchamianie programu GUI w sudo nie jest na ogół dobrym pomysłem; Wiele rzeczy może się nie udać - na przykład podczas nemopierwszego uruchomienia napisze pliki konfiguracyjne i utworzy katalogi, których potrzebuje. Będą one własnością rooti nie będą zapisywane przez użytkownika. I problem potrwa, zanim problem zostanie zauważony - sudopolecenie może zostać długo zapomniane. Na przykład myślę, że nemotworzy katalog ~user/.local/share/nemo/scripts/przy pierwszym uruchomieniu.
Volker Siegel
Ciekawe ....
Gabriel Staples