Nautilus'ta bir dosya silinmeye çalışılırken dosya çöp kutusuna taşınamıyor


17

Nautilus'ta dosyaları silmeye çalışıyorum ve her birini silmeye çalıştığımda bana her zaman şu mesajı veriyor:

Dosya çöp kutusuna taşınamıyor, hemen silmek istiyor musunuz?

Sonra bana birkaç soru veriyor. Tek istediğim, Deleteklavyeye bastığımda onu otomatik olarak çöp kutusuna gönderiyor olması. Bana her seferinde sormamak.

Sorun NTFS bölümleri, harici sürücüler ile ilgilidir, ancak Linux dosya sistemlerini de içerir.

Nautilus beeing'in çöp kutusuna taşınamamasının nedenleri nelerdir?

resim açıklamasını buraya girin


mute

Bu durumda / var / www. Zaten sahibiyim ve izinler iyi. Ancak aynı soruna sahip sabit sürücüler ve kalem sürücü gibi harici birimler de var.
Luis Alvarado

Yanıtlar:


10

(Çıkarılabilir medya hakkında, güncelleme ile çözülen bir hata olduğu için kullanıcıdan değil)

Bu davranış, sürücü monte edildiğinde bir çöp kutusu oluşturulamaz böylece sahibi olarak kabul edilmemesi nedeniyle oluşur. Hiçbir uid veya gid atanmadı ve sürücüde bir çöp kutusu klasörü oluşturulamadığından, yalnızca dosyaları otomatik olarak silme seçeneği sunulur.

Bu durumda 2 seçeneğiniz vardır: dosyaları Linux dosya sisteminize kesin ve orada silin (bu, basın silme amacını bozar ve dosyalar silinir ) veya sürücüyü monte ederken doğru izinlerin atandığından emin olun.

Bu satırlarla otomatik olarak monte edilen sürücüleriniz için yeni bir kural oluşturun, bunun için favori metin düzenleyicinizi kullanın

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"

Bilgisayarınızı yeniden başlatın ve ntfs sürücüleriniz bu özel kural kullanılarak bağlanır, takılı sürücünün izinlerini değiştirmek için hatta bir göz atın $env{mount_options},gid=46,dmask=000,fmask=111,utf8", seçenek gid=46ntfs sürücüsünü grup ayrıcalıklarıyla bağlamalıdır ( 46(plugdev)kullanıcının takmasına izin veren gruptur) Ubuntu'da bir sürücü) fmaskve dmasksürücüdeki dosya / klasörleri yazma, oluşturma, silme ayarları.

İhtiyaca göre değiştirin. Her dosyaya göre diğer dosya sistemlerini kendiniz sıralamanız gerekir, ancak bu başlamanıza yardımcı olacaktır.

( Kural için kaynakudev )


Bu benim için de geçerli mi? Ben biraz farklı bir ortam var: Sadece Linux kullanarak, ve silme oldukça iyi çalışıyor ve aynı zamanda bir çöp var NFS monte eve var, ama ben reposyerel dosya sistemi /local/home/me/repos(daha hızlı) bir dizin symlinked var . Yalnızca bu dizinin ve alt dizinlerin silinmesi çalışmaz. Dizinler /local/homekök 755'e aittir, ancak dizinlerim /local/home/me/repos700 modları ile bana aittir.
matematik

Soru: Bu satırın değerleri: sütununun $env{mount_options},gid=46,dmask=000,fmask=111,utf8"içine de yazılabilir mi? Bu aynı şey mi? <options>fstab
Nearoo

8

Kullanıcının, çıkarılamayan bir bölümde depolanan bir dosyayı silemediği durumlarda (Ubuntu 14.04)

Bruno Pereira'nun belirttiği gibi, bu davranış, kullanıcının bölümün bağlama noktasında (OP durumunda / / var) yazma izinlerine sahip olmaması nedeniyle oluşur, bu nedenle çöp kutusu için bir dizin oluşturulamaz.

Bu durumda, OP / var bölümünde depolanan çöp kutularına taşınamaz. Bu sorunu çözmek için:

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

Değiştirmeniz gerekecek:

  • 1000 kullanıcı kimliğinize göre (/ etc / passwd dosyasında oturum açma adınızı izleyen numaraya bakın)
  • user:group sırasıyla giriş adınıza ve grubunuza göre

4

16.04'te aynı problemle karşılaştım. Çözüm, Diskleri açıyor, NTFS bölümünü -> altındaki küçük dişli çark simgesini (Ek bölüm seçenekleri) -> "Montaj Seçeneklerini Düzenle" yi ekliyor ve hatta "uid = 1000" (virgülle ayrılmış tırnak işaretleri yok) ekliyor Montaj Noktasının üstünde (resme bakın).Disk yardımcı programı aracılığıyla fstab bağlama seçeneklerini değiştirme

uid, burada belirtildiği gibi orijinal kullanıcı değilseniz, terminalden "id" komutu tarafından döndürülen 1000'den alternatif bir sayıya ayarlanmalıdır .


0

Bir ntfs bölümü monte etmek için / etc / fstab içinde bir satır eklediğimde bu sorunu yaşardı. Bölümü nautilus içine "manuel" monte eğer yoktu.

Ubuntu dokümantasyon ne Nautilus kullanımları olan udisks kullanarak diskleri monte gerektiğini açıklar.

Bir bölümü otomatik olarak monte etme adımlarının özeti:

  1. Önkoşul: bölümü monte edin ve mountkomutunu kullanarak adını bulun (örneğin / dev / sdb1) .

  2. Bölüm uuid alın. Uuid ->, bu komutta içinde önce görünür :

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

  3. Montaj komutu şu şekilde olacaktır:

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

  4. Bu komutu başlangıç ​​uygulamalarınıza ekleyin


1
Bu ntfs bölümünde dosyaları yürütmenize izin vermez
Anwar

-1

GUI'ları sevenler için, bunu grafiksel olarak nasıl çözeceğiniz aşağıda açıklanmıştır:

  1. Bir terminale sudo apt-get install nemoyazarak nemo dosya düzenleyicisini ( yüklemek için) yükseltilmiş ayrıcalıklarla açın sudo nemo. [Bu muhtemelen nautilus'ta da işe yarayacaktır, ama sadece nemo'da test ettim].
  2. Dosyalarınızın depolandığı bağlı cihaza sağ tıklayın ve "Özellikler" e gidin.
  3. "İzinler" sekmesine gidin ve "Sahip" için açılır menüyü tıklayın ve kullanıcı adınızı seçin. Her şeyi kapatın ve normal dosya yöneticinize geri dönün.
  4. Cihazın sahibi olarak ayarladığınızda, artık o cihazda sizin için bir çöp kutusu oluşturmalı ve dosyaları otomatik olarak çöp kutusuna taşımak için sil düğmesine basmanıza izin vermelidir.

Sudo ile bir GUI programı çalıştırmak genellikle iyi bir fikir değildir; Birçok şey yanlış gidebilir - örneğin nemoilk kez çalıştırırken , yapılandırma dosyalarını yazacak ve ihtiyaç duyduğu dizinleri oluşturacaktır. Bunların sahibi olacaktır rootve kullanıcı tarafından yazılamaz. Ve sorun fark edilene kadar biraz zaman alacak - sudokomut uzun süre unutulabilir. Örneğin, ilk çalıştırmada nemodizini oluşturur sanırım ~user/.local/share/nemo/scripts/.
Volker Siegel

İlginç ....
Gabriel Staples
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.