尝试在 Nautilus 中删除文件时无法将文件移至垃圾箱警告

Lui*_*ado 20 nautilus

我试图删除 Nautilus 中的文件,每次我尝试删除一个文件时,它总是给我这条消息:

无法将文件移至回收站,是否要立即删除?

然后它给了我几个问题。我想要的是,当我按下Delete键盘时,它会自动将其发送到垃圾桶。不是每次都问我。

该问题与 NTFS 分区、外部驱动器有关,但也包括 Linux 文件系统。

鹦鹉螺无法移到垃圾箱的原因是什么?

在此处输入图片说明

Bru*_*ira 10

(关于可移动媒体,不是来自用户的情况,因为它是通过更新解决的错误)

发生这种情况是因为在安装驱动器时,您不被视为所有者,因此无法创建垃圾箱。没有UIDGID被分配和因为垃圾桶文件夹不能在驱动器中创建你只提供了选择自动删除该文件。

在这种情况下,您有 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"
Run Code Online (Sandbox Code Playgroud)

重新启动您的计算机,您的 ntfs 驱动器将使用此自定义规则挂载,要更改已挂载驱动器的权限,请查看该行$env{mount_options},gid=46,dmask=000,fmask=111,utf8",该选项gid=46应以组权限挂载 ntfs 驱动器(46(plugdev)是允许用户挂载的组) Ubuntu 中的驱动器),fmask以及在驱动器dmask上写入、创建、删除文件/文件夹的设置。

根据需要更改它。您需要根据每种类型自己整理其他文件系统,但这应该可以让您开始。

规则来源udev


chu*_*hus 10

对于用户无法删除存储在不可移动分区中的文件的情况(Ubuntu 14.04)

正如 Bruno Pereira 所说,发生这种行为是因为用户在分区的挂载点(在 OP 情况下为 /var)没有写权限,因此无法为垃圾箱创建目录。

在这种情况下,OP 无法移动到存储在 /var 分区的垃圾文件。要解决此问题:

$ cd /var
$ sudo mkdir .Trash-1000
$ chown user:group .Trash-1000
Run Code Online (Sandbox Code Playgroud)

你将不得不更换:

  • 1000 通过您的用户标识符(在文件 /etc/passwd 中查看您的登录名后面的数字)
  • user:group 分别通过您的登录名和组


Gre*_*ida 5

在 16.04,我遇到了同样的问题。解决方案是打开磁盘,单击 NTFS 分区 -> 下方的小齿轮图标(附加分区选项)->“编辑挂载选项”并将“uid=1000”(无引号,用逗号分隔)添加到该行在安装点上方(见图)。通过磁盘实用程序修改 fstab 挂载选项

UID应该从1000作为终端返回的“ID”命令,如果你是不是原来的用户,如提及被设置为另一个号码在这里