Windows下使用VSCode远程X11服务GUI显示的三种方法
Windows下使用VSCode远程X11服务GUI显示的三种方法
在Windows系统下使用VSCode进行远程开发时,如何实现GUI应用程序的显示是一个常见的需求。本文将介绍三种通过X11服务实现GUI显示的方法,包括借助WSL、使用远程管理工具以及配置环境变量等方案。
在使用SSH连接时,需要添加-XY
参数。-X
表示ForwardX11,-Y
是ForwardX11Trusted,允许X11转发,从而实现图形显示。虽然很多工具会默认使用这些参数,但手动添加也不会报错,因此建议手动添加。
设置完成后,需要启动VSCode或重启系统。如果重启后仍无法正常显示,可能是某些设置遗漏,可以尝试在评论区求助。
作者个人认为第一种方法的显示效果最好,而第三种方法的设置最为简便。
1. 借用WSL
WSL2支持在Windows上运行Linux GUI应用程序(X11和Wayland),因此可以借用其X11转发功能。
1.1 使用SSH连接远程服务器
ssh -XY user@ip
可以执行xeyes
命令,如果显示一对眼睛,则说明WSL的X11转发功能正常。如果无法显示,可以在WSL中本地安装GUI应用测试,如果仍然无法使用,可能是WSL系统存在问题。
1.2 正常使用VSCode连接
使用相同的SSH连接命令:
ssh -XY user@ip
连接后,在编写代码需要GUI显示时,会自动通过WSL的X11转发显示到本地。
1.3 故障排查
如果无法正常使用,可以在WSL和VSCode终端中输入echo $DISPLAY
,检查显示的端口号是否一致。理论上显示一致时不会出现问题。
优点:适合WSL用户
不足:使用过程中WSL不能与服务器断开连接
2. 使用远程管理工具
推荐使用Xmanager或MobaXterm。
2.1 使用Xshell连接服务器
这种使用方式较为简单,下载并安装后,使用Xshell连接服务器,运行xeyes
命令即可通过Xmanager查看GUI。
2.2 正常使用VSCode连接
SSH连接命令与之前相同,正常连接后即可看到GUI界面。
优点:适合Xshell用户
不足:使用过程中Xshell不能与服务器断开,Xmanager不能关闭
3. 配置环境变量和使用X服务转发软件
3.1 设置环境变量
打开控制台(cmd/powershell),设置环境变量:
setx DISPLAY "127.0.0.1:0.0"
注意setx
是永久生效的。设置完成后,可以在“系统环境变量”中查看是否成功。
3.2 X服务转发软件
推荐使用Xming、X410或Xmanager。这里使用Xmanager为例,启动Xmanager.exe
,选择快捷方式中的Xmanager-Passive
,启动后右下角会出现小图标,此时使用VSCode即可正常显示GUI。
优点:只需开启X服务转发软件即可使用
不足:需要修改环境变量,遇到问题时需要恢复环境变量
BUG处理
在使用第三种方法时,可能会遇到以下错误:
python: /builds/florianrhiem/pyGLFW/glfw-3.3.9/src/x11_init.c:1026: _glfwGrabErrorHandlerX11: Assertion `_glfw.x11.errorHandler == ((void *)0)' failed.
目前的解决方法是使用第一种WSL转发方式。