VSCode『SSH』连接服务器『GUI界面』传输

前言

最近需要使用实验室的服务器训练带有 GUI 画面的 AI 算法模型(pygame),但是我是使用 SSH 连接的,不能很好的显示模型训练的效果画面,所以下面将会讲解如何实现 SSH 连接传输 Linux GUI 画面的

注:我们没有采用直接在 Linux 上搭建远程桌面,是因为我们平时跑模型极少需要用到 GUI,并且安装远程桌面可能影响性能,因此采用上述方式来解决问题
操作系统:Windows 11(本地机) Ubuntu 20.04(远程机)

本文最终效果就是在 VS Code 的 Remote-SSH 连接到服务器显示服务器端 GUI 画面

客户端配置

SSH配置

配置 VS Code 的 Remote-SSH 需要用到的 .ssh\config 文件

bash 复制代码
Host 主机名
    HostName 域名或IP
    User 用户名
    Port SSH的端口
    IdentityFile ~/.ssh/id_rsa
    ForwardX11 yes
    ForwardX11Trusted yes

重点是下面这两行

bash 复制代码
    ForwardX11 yes
    ForwardX11Trusted yes

VcXsrv

官网下载:VcXsrv Windows X Server download | SourceForge.net

安装完会出现XLaunch在菜单中,这就是我们需要的所谓XServer软件

服务端配置

配置 $DISPLAY10.0

bash 复制代码
# 显示
echo $DISPLAY
# 配置
export DISPLAY=localhost:10.0

开始运行

VcXsrv

开始运行 XLaunch,然后 Display number 需要填写上面我们设定的 $DISPLAY 的值(10),最后勾选Disable access control,其它按默认即可

VSCode

我们连接服务器之后输入如下代码

bash 复制代码
xeyes

但是之后我出现了如下问题 Error: Can't open display: localhost:10.0,解决方案如下

export DISPLAY=localhost:10.0 里面的 localhost 需要替换为 Windows 主机的 IP,命令行输入 ipconfig 即可获取 IP

最后我们输入 xeyes 我们应该就可以看到如下测试画面

下面我再随便编写个 pygame 的游戏界面作为测试,大功告成

参考文章

当通过 VS Code 的 Remote-SSH 连接到服务器时如何显示服务器端 GUI(以 Windows 本地 → Ubuntu 远程为例) - 知乎 (zhihu.com)

解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题_郭庆汝的博客-CSDN博客

【Linux】解决ssh连接终端无GUI无法显示python图像【服务器】_moba远程服务器plt.show_Jack Lin的博客-CSDN博客

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
寻星探路1 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧3 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法4 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7254 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎4 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄5 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿5 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds5 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹5 小时前
【Java基础】多态 | 打卡day2
java·开发语言
Re.不晚5 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言