【问题标题】:Atom opens a new file called ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=falseAtom 打开一个名为 ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false 的新文件
【发布时间】:2020-07-01 16:20:51
【问题描述】:

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

ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false

还有一个:

/usr/bin/atom

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

【问题讨论】:

    标签: atom-editor


    【解决方案1】:

    我将做几个假设。您在 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),希望问题已得到解决。

    【讨论】:

    • 很好的答案,不仅是解决问题的方法,而且也是一个简洁的解释。像这样的答案是让堆栈溢出如此棒的原因。
    • 我通过 snap 安装了 ATOM,然后我删除并通过控制台安装了它。每隔两周左右,我仍然会收到此消息,必须执行命令,然后才能再次运行。
    • 这个答案很有帮助。我一直面临同样的挑战,但现在已经解决了。但是当我在运行上述命令后第一次启动 atom 时,错误仍然出现。我所做的只是关闭 atom 并重新启动它,一切正常。非常感谢@Itay Grudev
    • @john 这可能是因为您在打开这些文件的情况下关闭了 Atom,并且您激活了“在启动时恢复以前的 Windows”选项
    • 这只是部分地为我工作。我可以从终端启动 atom 并且额外的“文件”消失了,但 atom 不会从桌面图标启动。我得到了一个纺车片刻,但没有原子窗口出现,也没有原子进程在运行。我怀疑它反对我使用文本编辑器编辑文件而不是使用给出的“sed”命令这一事实。那么也许该文件现在有一个新的inode?我的下一步是卸载、重新安装,然后使用带有就地选项的 sed 命令。
    猜你喜欢
    • 2021-12-30
    • 2016-11-06
    • 2017-07-18
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 2011-07-28
    相关资源
    最近更新 更多