问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Windows下使用VSCode远程X11服务GUI显示的三种方法

创作时间:
作者:
@小白创作中心

Windows下使用VSCode远程X11服务GUI显示的三种方法

引用
CSDN
1.
https://blog.csdn.net/qq_49030008/article/details/142174695

在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转发方式。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号