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

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

我正在尝试删除 Nautilus 中的文件,每次我尝试删除一个文件时,它总是显示以下消息:

无法将文件移至废纸篓,是否立即删除?

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

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

鹦鹉螺无法移至垃圾箱的原因有哪些?

在此处输入图片描述

答案1

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

发生这种情况的原因是,当驱动器被安装时,您不被视为所有者,因此无法创建垃圾箱。没有用户ID或者已被分配,并且由于无法在驱动器中创建垃圾箱文件夹,因此您只能选择自动删除文件。

在这种情况下,你有两个选择:将文件剪切到你的 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 设置为终端“id”命令返回的 1000 以外的其他数字这里

答案4

如果分区是 NTFS,则在分区条目部分添加uid和,以便 Ubuntu 使您成为该分区的所有者。gid<options>/etc/fstab

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命令。

相关内容