我有两台机器运行相同的 Ubuntu 18.10。在它们两台机器上我都有几个绑定挂载,/etc/fstab
如下所示:
# file system mount point type options dump pass
/mnt/hdd/folder /home/user/data none bind,x-gvfs-hide 0 0
将其中一台机器升级到 19.04 后,出现以下两个错误:
我无法将文件从绑定挂载移动到垃圾箱(无论是使用 Nautilus GUI 还是通过
gio trash
):$ gio trash file.txt gio: file:///home/user/data/file.txt: Trashing on system internal mounts is not supported
- 在 Nautilus 中,最后一个项目
fstab
不会被隐藏,而是显示为已安装的分区
我该如何修复它?或者我该在哪里提交错误报告?或者有解决方法吗?(毕竟从 19.04 发布到现在已经过去了几个月。)尤其是无法正常工作的垃圾非常烦人。
答案1
我意识到自您发布帖子以来已经过去了一段时间,但问题仍然存在于 Ubuntu 19.10 上,因此这个答案对某些人来说可能仍然有用。
- 对于您的第一个问题,已经在那里进行了更彻底的讨论:https://unix.stackexchange.com/questions/115757/unable-to-delete-files-to-trash-in-a-bind-mounted-filesystem/115811。简而言之,目前没有解决方案,至少对于 GUI 体验而言。但其中一个答案建议您可以使用
trash
命令行包中的命令trash-cli
,并且它可以与绑定安装配合使用(但我认为对于台式计算机来说这不是理想的解决方案)。
顺便提一下,我个人在装有 Ubuntu 的电脑上也遇到了这个问题(如果我没记错的话,以前在 Fedora 上也遇到过),但我在 Manjaro 上似乎没有遇到这个问题(至少在使用 Deepin DE 时,我还没有尝试过其他桌面环境,不知道是否与它有关)。我想研究一下这两个不同的系统如何处理垃圾,以找出 Ubuntu 上的问题所在(以及有同样问题的其他发行版),这应该很有趣。
- 至于你的第二个问题,我不得不承认我不明白什么不起作用,因为你已经在使用选项了
x-gvfs-hide
。就我而言,我能发现的唯一区别是我也有选项defaults
。因此,使用你的例子,它会给出以下内容:
# file system mount point type options dump pass
/mnt/hdd/folder /home/user/data none defaults,bind,x-gvfs-hide 0 0
答案2
如果你从 nautilus 移至 nemo(就像我一样),你可以使用以下方法:
将此文件放在:
~/.local/share/nemo/actions/trash.nemo_action
[Nemo Action]
Active=true
Name=Move to Tra_sh(cli)
Comment=Trash even on mount binds
Exec=xterm -title "Trashing(cli)" -e trash -v %F
Selection=any
Extensions=any
EscapeSpaces=true
您可以删除 xterm 部分并只保留命令。
您可以更改快捷方式,但我建议只需按下文件上的上下文菜单键并点击“s”。
我用 1 个文件、多个文件、1 个文件夹和多个文件夹进行了测试,全部成功!
我非常确定这也可以用于 nautilus,我只是不记得应该将等效操作放在哪里。