是否安装了 gvfs-trash?在原子

Is gvfs-trash installed? in Atom

当我试图删除本地机器上的文件以检查文件是否与 vagrant 开发服务器同步时,它弹出一个错误:

The following file couldn't be moved to the trash.
Is gvfs-trash installed?

为了解决这个问题,我创建了一个可以从用户主目录之外访问的垃圾目录:

# Create a Trash directory (with some subdirectories) in root
sudo mkdir -p /.Trash-1000/{expunged,files,info}

# Give ownership of this to your user:
sudo chown -R $USER /.Trash-1000

我仍然无法从本地机器上删除文件。但是如果我在 vagrant 开发服务器上删除一个文件,它会自动在本地机器上删除,相反的情况不会发生,最终会出现这个错误 "Is gvfs-trash installed? "

GitHub 上有一个 issue 报告了这个问题。据报道,缺少.Trash-1000会导致此问题,因此您可以按如下方式创建它。

mnt=/; id=$(id -u); sudo mkdir -p "$mnt/.Trash-$id"/{expunged,files,info} \
  && sudo chown -R $USER:$USER "$mnt/.Trash-$id"/ \
  && sudo chmod -R o-rwx "$mnt/.Trash-$id"/

mnt 设置为 gvfs-trash 期望的挂载点。 简单地 cd 到将在 atom 中打开的目录并执行 df .。 这将给出如下内容:

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdb1      960380628 463122460 448403708  51% /mnt/vol

在此示例中,挂载点和 mnt 的值将是 /mnt/vol

为我解决这个问题的方法是通过 dpkg 卸载 atom 并通过以下 PPA 中的 apt 安装它:https://launchpad.net/~webupd8team/+archive/ubuntu/atom。不过,我不知道为什么会这样。我注意到 PPA 安装的是 atom 1.26,而通过 dpkg 安装的出现问题的版本是 1.45。

在此之前,我已尝试在根目录、主文件夹和项目文件夹中创建 .Trash-1000 目录,并具有适当的权限。 gvfs-trash 已安装、更新并一直按预期工作,但问题仍然存在。真奇怪。

就像 YuriAFGomes 所说的那样,我的系统似乎一切正常:垃圾文件夹具有正确的权限并且 gvfs-trash 工作完美从命令行,但是 atom 1.45 说它不能删除任何文件。尝试使用 sudo 启动原子,但没有解决任何问题。尝试在多个地方创建 .Trash-1000 目录,但没有任何结果,同样的错误与 gvfs-trash 相关。我很确定这曾经在我的 atom 设置中运行良好,但突然停止运行,我不知道为什么。我去了他们的 releases list 并尝试降级到其中的几个,直到我解决了 1.30 版本,它似乎没有这个问题并且与我的本地包兼容。如果您遇到这个问题并尝试了网上所说的一切,我建议您尝试降级到不同的版本,直到问题消失。

真正的问题是 atom/electron are/were 使用 gvfs-trash 已经 deprecated for almost 5 years. Electron which is the platform on which Atom is built has fixed this in the development branch but hasn't backported it 到 Atom 所基于的 2.0 分支。

Solution/Workaround 截至目前?

  1. Use an environment variable $ELECTRON_TRASH 并将其设置为 gio 或备选方案之一
  2. 看看你是不是missing the .Trash-1000 folder(假设你的uid是1000)
  3. 安装 alternate gvfs-trash script 以接管缺少的功能
  4. 删除atom
  5. 外的file/folder

我在使用 A​​tomWindows 上遇到了类似的问题,我无法删除文件。所以我求助于从目录(Atom 之外)中手动删除它们。

事实证明,如果您在回收站中选中此选项,则 atom 无法“移至垃圾箱”: “不要将文件移至回收站。删除后立即删除文件。”

只需设置其他选项(将文件移至实际回收站)即可。