【发布时间】:2020-07-01 16:20:51
【问题描述】:
每当我启动 Atom 时,它都会打开两个文件,一个名为:
ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false
还有一个:
/usr/bin/atom
这真的很烦人,我不知道如何解决它。据我了解,这是某种环境配置错误,但我找不到导致它的原因。
【问题讨论】:
标签: atom-editor
每当我启动 Atom 时,它都会打开两个文件,一个名为:
ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false
还有一个:
/usr/bin/atom
这真的很烦人,我不知道如何解决它。据我了解,这是某种环境配置错误,但我找不到导致它的原因。
【问题讨论】:
标签: atom-editor
我将做几个假设。您在 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 {
这里详细解释了导致问题的原因以及上述命令的作用。如果在编写答案后文件已更改,这可能会很有用。
这个bug的实际原因是这个菜单项文件:
/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),希望问题已得到解决。
【讨论】: