如何修复 Ubuntu 19.04 中绑定挂载上不起作用的垃圾?(并在 Nautilus 中隐藏它们)

如何修复 Ubuntu 19.04 中绑定挂载上不起作用的垃圾?(并在 Nautilus 中隐藏它们)

我有两台机器运行相同的 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 后,出现以下两个错误:

  1. 我无法将文件从绑定挂载移动到垃圾箱(无论是使用 Nautilus GUI 还是通过gio trash):

    $ gio trash file.txt
    gio: file:///home/user/data/file.txt: 
    Trashing on system internal mounts is not supported
    
  2. 在 Nautilus 中,最后一个项目fstab不会被隐藏,而是显示为已安装的分区

我该如何修复它?或者我该在哪里提交错误报告?或者有解决方法吗?(毕竟从 19.04 发布到现在已经过去了几个月。)尤其是无法正常工作的垃圾非常烦人。

答案1

我意识到自您发布帖子以来已经过去了一段时间,但问题仍然存在于 Ubuntu 19.10 上,因此这个答案对某些人来说可能仍然有用。

  1. 对于您的第一个问题,已经在那里进行了更彻底的讨论: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 上的问题所在(以及有同样问题的其他发行版),这应该很有趣。

  1. 至于你的第二个问题,我不得不承认我不明白什么不起作用,因为你已经在使用选项了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,我只是不记得应该将等效操作放在哪里。

相关内容