visual studio 代码未在 windows 10 子系统上启动 linux (ubuntu)

visual studio code does not launch on windows 10 subsystem for linux (ubuntu)

我在 windows 10 并且直接从商店 using the guidelines given here 安装了 Linux (Ubuntu) 我也有 Xming 并在我的 bashrc 文件中设置了 DISPLAY=:0。 诸如 Firefox 和 PyCharm 运行 之类的程序很好,但 VSCode 不 运行。 它与 不同,并且生成的错误消息似乎有所不同。 运行使用我在下面得到的 --verbose 选项来设置它:

Me@DESKTOP-1:/mnt/e/ubuntu-stored/repoitories/pawlib$ code .
Me@DESKTOP-1:/mnt/e/ubuntu-stored/repoitories/pawlib$ which code
/usr/bin/code
Me@DESKTOP-1:/mnt/e/ubuntu-stored/repoitories/pawlib$ code --verbose
[3773:0916/193522.695084:ERROR:bus.cc(395)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
shared memfd open() failed: Function not implemented
[main 7:35:23 PM] Starting VS Code
[main 7:35:23 PM] from: /usr/share/code/resources/app
[main 7:35:23 PM] args: { _: [],
  help: false,
  h: false,
  version: false,
  v: false,
  wait: false,
  w: false,
  diff: false,
  d: false,
  add: false,
  a: false,
  goto: false,
  g: false,
  'new-window': false,
  n: false,
  'unity-launch': false,
  'reuse-window': false,
  r: false,
  'open-url': false,
  performance: false,
  p: false,
  'prof-startup': false,
  verbose: true,
  logExtensionHostCommunication: false,
  'disable-extensions': false,
  disableExtensions: false,
  'list-extensions': false,
  'show-versions': false,
  nolazy: false,
  issue: false,
  'skip-getting-started': false,
  'skip-release-notes': false,
  'sticky-quickopen': false,
  'disable-restore-windows': false,
  'disable-telemetry': false,
  'disable-updates': false,
  'disable-crash-reporter': false,
  'skip-add-to-recently-opened': false,
  status: false,
  s: false,
  'file-write': false,
  'file-chmod': false,
  'driver-verbose': false }
[main 7:35:23 PM] Resolving machine identifier...
[main 7:35:23 PM] Resolved machine identifier: d4398814e404b0f7472543859e2fed861c7a29fc750e4c131eab633c4e5a44b8
[main 7:35:23 PM] update#setState idle
[main 7:35:23 PM] windowsManager#open
[3805:0916/193523.829735:ERROR:gl_surface_glx.cc(413)] GLX 1.3 or later is required.
[3805:0916/193523.829875:ERROR:gl_initializer_x11.cc(153)] GLSurfaceGLX::InitializeOneOff failed.
[3805:0916/193523.848836:ERROR:gpu_child_thread.cc(252)] Exiting GPU process due to errors during initialization
[3773:0916/193523.869175:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
[3773:0916/193524.216326:ERROR:browser_main_parts.cc(139)] X IO error received (X server probably went away)

我使用以下命令安装了 VScode:

$ sudo apt install curl
$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
$ sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
$ sudo apt update
$ sudo apt install code

当我遇到启动错误时,我尝试使用 "dpkg -i" 安装 .deb 文件,以确保问题不在于安装。

VS Code 不支持通过 WSL 启动 Linux 客户端,但是您可以通过调用 <VS Code Install>\bin\code.sh.

通过 WSL 启动 Windows 客户端

此外,虽然可以通过安装 X 服务器通过 WSL 启动 Linux 应用程序,但这更多是一种实验性的东西。 WSL 的重点是将基于 Linux 的命令行工具引入 Windows。

我有同样的问题,但我是从 Linux 机器启动代码。 Xming 处理 xterm, firefox 等,但对 vs code 不满意。您可以使用

解决 glx 问题
$ code --disable-gpu

but I still get:
[main 2:29:54 PM] update#setState idle
[main 2:29:54 PM] windowsManager#open
[42083:0108/142954.536002:ERROR:browser_main_parts.cc(139)] X IO error received (X server probably went away)

So maybe an X-server problem?  Maybe try a different X server?

哈! Google 先生前来救援。 这是修复:

# make a copy of the relevant library
mkdir ~/lib
cp /usr/lib/x86_64-linux-gnu/libxcb.so.1 ~/lib
sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' ~/lib/libxcb.so.1
# set the dynamic loader path to put your library first before executing VS Code
LD_LIBRARY_PATH=$HOME/lib code

本文来自: https://github.com/Microsoft/vscode/issues/3451