Atom 打开一个名为 ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false 的新文件

Atom opens a new file called ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false

每当我启动 Atom 时,它都会打开两个文件,一个名为:

ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false

还有一个:

/usr/bin/atom

这真的很烦人,我不知道如何解决它。据我了解,这是某种环境配置错误,但我找不到导致它的原因。

我将做出几个假设。您 运行正在 Ubuntu 并且您已经通过 Snap 安装了 Atom。

如果这些假设是正确的,则问题的原因是 Snap 包作者配置错误的应用程序菜单项。

要修复它,您只需要 运行 这个命令:

sudo sed -i 's/Exec=env BAMF_DESKTOP_FILE_HINT=\/var\/lib\/snapd\/desktop\/applications\/atom_atom.desktop \/snap\/bin\/atom ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false \/usr\/bin\/atom %F/Exec=env BAMF_DESKTOP_FILE_HINT=\/var\/lib\/snapd\/desktop\/applications\/atom_atom.desktop ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false \/snap\/bin\/atom %F/' /var/lib/snapd/desktop/applications/atom_atom.desktop

TL;DR {

这里详细解释了导致问题的原因以及上述命令的作用。如果自答案写入后文件已更改,这可能会有用。

错误的实际原因是这个菜单项文件:

/var/lib/snapd/desktop/applications/atom_atom.desktop

里面有错字,调用后应该设置什么环境变量 atom 可执行文件,导致 Atom 将其视为以下形式的参数 它应该打开的文件。

#                                                                                     ▼ Executable   ▼ Not an environment variable                   ▼ Not an executable
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/atom_atom.desktop /snap/bin/atom ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false /usr/bin/atom %F

应该改为:

#        ▼ Environment variable                                                       ▼ Environment variable                          ▼ Executable
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/atom_atom.desktop ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false /snap/bin/atom %F

上述解决方案使用sed搜索并替换文件并修复问题。

}

注意: 该命令将一直有效,直到 Snap 作者更新菜单项文件 (.desktop) 时希望问题会得到解决。