Tidak dapat memindahkan file ke peringatan sampah ketika mencoba menghapus file di Nautilus

16

Saya mencoba menghapus file dalam Nautilus dan setiap kali saya mencoba menghapusnya selalu memberi saya pesan ini:

Tidak dapat memindahkan file ke tempat sampah, apakah Anda ingin segera menghapusnya?

Lalu itu memberi saya beberapa pertanyaan. Yang saya inginkan adalah ketika saya menekan Deletedi keyboard, itu mengirimkannya secara otomatis ke tempat sampah. Tidak selalu bertanya padaku.

Masalahnya berkaitan dengan partisi NTFS, drive eksternal tetapi juga termasuk sistem file Linux.

Apa alasan nautilus beeing tidak bisa pindah ke tempat sampah?

masukkan deskripsi gambar di sini

Luis Alvarado
sumber
dapatkah Anda memberikan path lengkap (absolut) dari file
aneeshep
Dalam hal ini adalah / var / www. Sudah menjadi pemiliknya dan izinnya bagus. Tetapi ada juga unit eksternal seperti hard drive dan pen drive yang memiliki masalah yang sama.
Luis Alvarado

Jawaban:

10

(Tentang media yang dapat dipindahkan, bukan kasing dari pengguna karena itu adalah bug yang diselesaikan dengan pembaruan)

Perilaku ini terjadi karena ketika drive dipasang Anda tidak dianggap sebagai pemilik sehingga tempat sampah tidak dapat dibuat. Tidak ada uid atau gid yang ditetapkan dan karena folder tempat sampah tidak dapat dibuat di drive, Anda hanya ditawari pilihan untuk menghapus file secara otomatis.

Dalam hal ini Anda memiliki 2 opsi: memotong file ke sistem file Linux Anda dan menghapusnya di sana (yang mengalahkan tujuan pers hapus dan file dihapus ) atau pastikan Anda diberi izin yang benar saat memasang drive.

Buat aturan baru untuk drive yang dipasang otomatis dengan baris ini, gunakan editor teks favorit Anda untuk itu

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"

Nyalakan kembali komputer Anda dan drive ntfs Anda akan dipasang menggunakan aturan khusus ini, untuk mengubah izin untuk drive yang terpasang lihat pada baris $env{mount_options},gid=46,dmask=000,fmask=111,utf8", opsi gid=46harus memasang drive ntfs dengan hak istimewa grup ( 46(plugdev)adalah grup yang memungkinkan pengguna untuk memasang drive di Ubuntu), fmaskdan dmaskpengaturan untuk menulis, membuat, menghapus file / folder pada drive.

Ubah sesuai kebutuhan. Anda perlu memilah sistem file lain sendiri sesuai dengan masing-masing jenis tetapi ini harus memulai.

( Sumber untuk udevaturan )

Bruno Pereira
sumber
Apakah ini juga berfungsi untuk saya? Saya memiliki lingkungan yang sedikit berbeda: Hanya menggunakan Linux, dan saya memiliki NFS yang dipasang di rumah tempat penghapusan bekerja dengan cukup baik dan di sana juga ada tempat sampah, tetapi saya telah menghubungkan direktori reposke sistem file lokal /local/home/me/repos(lebih cepat). Hanya di dalam direktori ini dan penghapusan subdirektori tidak berfungsi. Direktori /local/homedimiliki oleh root 755, tetapi direktori saya /local/home/me/reposdimiliki oleh saya dengan modalitas 700.
math
Pertanyaan: Bisakah nilai-nilai dari baris ini: $env{mount_options},gid=46,dmask=000,fmask=111,utf8"juga ditulis di dalam <options>kolom fstab? Apakah itu sama?
Nearoo
8

Untuk kasus-kasus di mana pengguna tidak dapat menghapus file yang disimpan dalam partisi yang tidak dapat dilepas (Ubuntu 14.04)

Seperti yang dinyatakan Bruno Pereira, perilaku ini terjadi karena pengguna tidak memiliki izin menulis di titik mount partisi (dalam kasus OP, / var), sehingga direktori untuk tempat sampah tidak dapat dibuat.

Dalam hal ini, OP tidak dapat pindah ke file sampah yang disimpan di partisi / var. Untuk mengatasi masalah ini:

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

Anda harus mengganti:

  • 1000 oleh pengenal pengguna Anda (lihat nomor yang mengikuti nama login Anda di file / etc / passwd)
  • user:group menurut nama dan grup login Anda, masing-masing
chus
sumber
4

Pada 16,04, saya mengalami masalah yang sama. Solusinya adalah membuka Disk, mengklik partisi NTFS -> pada ikon roda gigi kecil di bawahnya (opsi partisi tambahan) -> "Edit Opsi Mount" dan menambahkan "uid = 1000" (tanpa tanda kutip, dipisahkan dengan koma) ke baris di atas Mount Point (lihat gambar).Memodifikasi opsi pemasangan fstab melalui utilitas Disk

uid harus diatur ke nomor alternatif dari 1000 yang dikembalikan oleh perintah "id" dari terminal jika Anda bukan pengguna asli, seperti disebutkan di sini .

Greg Kramida
sumber
0

Saya dulu mengalami masalah ini ketika saya menambahkan baris di / etc / fstab untuk memasang partisi ntfs. Itu tidak ada jika saya memasang partisi "secara manual" di nautilus.

The dokumentasi Ubuntu menjelaskan bahwa Anda harus me-mount disk menggunakan udisks, yang adalah apa yang menggunakan nautilus.

Ringkasan langkah-langkah untuk memasang partisi secara otomatis:

  1. Prasyarat: pasang partisi dan temukan namanya (misalnya / dev / sdb1) menggunakan mountperintah.

  2. Dapatkan uuid dari partisi. Uuid muncul sebelum ->dalam perintah ini:

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

  3. Perintah untuk pemasangan adalah:

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

  4. Tambahkan perintah ini di aplikasi startup Anda

Aurelien
sumber
1
Ini tidak memungkinkan Anda menjalankan file di partisi ntfs
Anwar
-1

Bagi yang menyukai GUI, berikut ini cara menyelesaikannya secara grafis:

  1. Buka editor file nemo ( sudo apt-get install nemountuk menginstal) dengan hak istimewa yang ditinggikan, dengan mengetik sudo nemoke terminal. [Ini mungkin akan bekerja di nautilus juga, tetapi saya hanya menguji dalam nemo].
  2. Klik kanan perangkat yang dipasang di mana file Anda disimpan, dan pergi ke "Properties."
  3. Buka tab "Izin", dan untuk "Pemilik," klik menu tarik-turun dan pilih nama pengguna Anda. Tutup semuanya dan kembali ke manajer file normal Anda.
  4. Dengan Anda menetapkan sebagai pemilik perangkat, itu sekarang harus membuat tempat sampah untuk Anda di perangkat itu dan memungkinkan Anda untuk menekan tombol hapus untuk secara otomatis memindahkan file ke tempat sampah.
Gabriel Staples
sumber
Menjalankan program GUI dengan sudo umumnya bukan ide yang baik; Banyak hal yang bisa salah - seperti, misalnya saat menjalankan nemopertama kali, ia akan menulis file konfigurasi dan membuat direktori yang dibutuhkan. Ini akan dimiliki oleh root, dan tidak dapat ditulis oleh pengguna. Dan itu akan memakan waktu sampai masalah diketahui - sudoperintahnya mungkin sudah lama terlupakan. Sebagai contoh, saya pikir nemomembuat direktori ~user/.local/share/nemo/scripts/saat pertama kali dijalankan.
Volker Siegel
Menarik ....
Gabriel Staples