在 WSL 上运行 Atom Ubuntu 时出错

在 WSL 上运行 Atom Ubuntu 时出错

我正在尝试在 Windows Subsystem for Linux 下的 Ubuntu 20.04 中运行 Atom 编辑器。

我安装了 Ubuntu,然后安装了 Node.js。两者似乎都运行良好。然后我按照本网站用于安装 Atom。

当我运行时atom,我得到以下信息:

ro@PC:~$ atom
expr: syntax error: missing argument after ‘8’
ro@PC:~$ /usr/bin/atom: line 195:    89 Segmentation fault      nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1

这是我的文件夹中的内容~/.atom

ro@PC:~/.atom$ ll
total 8
drwxr-xr-x 2 ro ro 4096 Apr 25 09:52 ./
drwxr-xr-x 9 ro ro 4096 Apr 25 09:52 ../
-rw-r--r-- 1 ro ro    0 Apr 25 11:52 nohup.out

由于我是 Linux 新手,我不知道我做错了什么。

答案1

通过在自己的 WSL 系统上安装和运行 Atom,我可以确认您遇到了两个问题。第一个问题相当常见,但 Atom 错误消息与其他应用程序截然不同,我很高兴您发布了它,以便其他人在搜索时可以找到它。

/usr/bin/atom: line 195:    89 Segmentation fault      nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1

该错误是由您的第一个问题引起的。正如评论中提到的,您在没有 X 服务器的 Windows 10 上运行 WSL。

Windows 10 上的 WSL 本身不支持 Linux GUI 应用程序。Linux GUI 应用程序(传统上)是 X 客户端,它们使用 X11 协议与“X 服务器”通信,后者负责显示它们、翻译输入(鼠标、键盘等)以及其他任务。

在 Windows 10 上,WSL 不(直接)支持该功能。实际上有三种可能的解决方案,虽然我将在这里总结它们,但我会向您指出其他几个问题以获取详细信息:

  • 升级到 Windows 11,其中有一个新功能 WSLg,它直接支持使用 X11 和 Wayland(X11 的“后继者”)的 GUI 应用程序。

  • 在 Windows 10 上运行第三方 X 服务器,例如 VcXsrv

  • 在 Ubuntu 中运行xrdp并通过 Windows 中的远程桌面应用程序连接到它。

看:

有关选项的(确实过于)冗长而详细的比较(性能、内存、安装简便性、易用性),请参阅我的答案

另一个错误
expr: syntax error: missing argument after ‘8’

即使安装了 X 服务器,您暂时仍会收到此错误消息。这是Atom 中的错误。看起来,这没什么危害,即使出现该错误消息,Atom 仍可正常运行。出现这种情况是因为 Atom 没有预料到您可能没有运行会话管理器,而 WSL 下您不需要它。

但是,如果你通过 Xrdp 运行,则不会收到该错误,因为你将要在会话管理器下运行。

无论如何,无需担心,据报道它将在下一个版本中得到修复。

相关内容