嘗試在 Nautilus 中刪除檔案時出現「無法將檔案移至垃圾箱」警告

嘗試在 Nautilus 中刪除檔案時出現「無法將檔案移至垃圾箱」警告

我正在嘗試刪除 Nautilus 中的文件,每次我嘗試刪除一個文件時,它總是向我顯示以下訊息:

無法將檔案移至回收站,是否要立即刪除?

然後它給了我幾個問題。我想要的只是當我按下Delete鍵盤時,它會自動將其發送到垃圾桶。不用每次都問我。

此問題涉及 NTFS 分割區、外部驅動器,還包括 Linux 檔案系統。

鸚鵡螺無法移至垃圾箱的原因是什麼?

在此輸入影像描述

答案1

(關於可移動媒體,不是用戶的情況,因為這是透過更新解決的錯誤)

發生此行為的原因是安裝驅動器時,您不被視為所有者,因此無法建立垃圾箱。不uid或者吉德已分配,且由於無法在磁碟機中建立垃圾箱資料夾,因此您只能選擇自動刪除檔案。

在這種情況下,你有 2 個選擇:將檔案切入你的 Linux 檔案系統並在那裡刪除它們(這違背了按刪除鍵,檔案被刪除)或確保在安裝磁碟機時為您指派了正確的權限。

使用這些行為自動安裝的磁碟機建立新規則,使用您最喜歡的文字編輯器

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"

重新啟動您的計算機,您的 ntfs 驅動器將使用此自訂規則進行掛載,要更改已掛載驅動器的權限,請查看該行$env{mount_options},gid=46,dmask=000,fmask=111,utf8",該選項gid=46應使用群組權限掛載 ntfs 驅動器(46(plugdev)是允許用戶掛載的群組) Ubuntu 中的磁碟機),fmask以及dmask在磁碟機上寫入、建立、刪除檔案/資料夾的設定。

根據需要改變它。您需要根據每種類型自行整理其他檔案系統,但這應該可以幫助您開始。

udev規則來源

答案2

對於使用者無法刪除儲存在不可移動分割區中的檔案的情況(Ubuntu 14.04)

正如 Bruno Pereira 所說,發生這種行為是因為使用者在分區的掛載點(在 OP 情況下為 /var)沒有寫權限,因此無法建立垃圾箱的目錄。

在這種情況下,OP 無法移動到 /var 分區中儲存的垃圾檔案。要解決這個問題:

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

您將必須更換:

  • 1000透過您的使用者識別碼(請參閱檔案 /etc/passwd 中您的登入名稱後面的數字)
  • user:group分別透過您的登入名稱和群組

答案3

16.04,我遇到了同樣的問題。解決方案是開啟“磁碟”,點擊NTFS 分割區-> 下面的小齒輪圖示(其他分割區選項)->“編輯掛載選項”,然後在行中新增“uid=1000”(無引號,用逗號分隔)位於安裝點上方(見圖)。透過磁碟實用程式修改 fstab 掛載選項

如果您不是原始用戶,則應將 uid 設定為 1000 中的替代數字,如終端機中的「id」命令返回的那樣這裡

答案4

如果分割區是 NTFS,則將uid和新增gid<options>分割區條目的部分,/etc/fstab以便 Ubuntu 使您成為該分割區的擁有者。

id首先,只需在終端機中輸入內容即可檢查您的 ID 。

$ id

然後添加您的uidgid,如下所示,假設此處為 1000 -

/dev/disk/by-uuid/xxxx /mnt/Data ntfs-3g defaults,windows_names,uid=1000,gid=1000 0 0

現在,透過使用DisksGUI 應用程式卸載和安裝分割區。 如果無法
卸載,則關閉所有可能正在使用該分割區的應用程序,例如檔案總管、終端機等。

cd透過進入分區並輸入命令來交叉檢查ls -al

相關內容