admin 管理员组文章数量: 887018
问题描述:博主之前一直是使用mobaxterm远程连接到服务器,最近改用了vscode + Remote - ssh 的方式来连接服务器,但是发现在服务器上无论是通过软件调用或者是用python都无法显示图形,找了一些解决方案并亲自尝试,最后得到一个简洁的解决方案
一、确定通过vscode的Remote扩展能接入服务器
这个过程比较简单,配置一下ssh的文件即可(网上有众多教程),生成ssh秘钥来接入服务器,因为这个过程需要将服务器上的图像传输到本地,再在本地调用VcXsrv(or XMing)来显示图形。通过vscode通过ssh连接服务器,并配置秘钥
https://blog.csdn/Oxford1151/article/details/137228119
注意:在ssh配置文件中记得加入X11相关服务
ForwardX11 yes
ForwardX11Trusted yes
接下来在本地和服务器上分别都安装上vscode扩展:Remote X11
记住是本地和服务器都装上,具体操作就是:
1.没通过Remote -ssh 连接服务器时,点击扩展并搜索Remote X11 安装就是在本地
2.通过Remote -ssh 连接服务器,再点击扩展并搜索Remote X11 会有提示安装在服务器
二、给本地安装xserver服务
安装xserver的方式有很多种,博主推荐VcXsrv(微软推荐)或者XMing,下载完然后全部默认安装就行,安装完成你就可以看到XLaunch(如下图):
打开使用时采用默认端口参数(强烈不建议修改!!!):
打开后就可以在右下角隐藏的任务栏看到启动图标:
记下这个端口号(等会用到):
:0.0
三、配置环境
1.配置本地
在本地安装VcXsrv(or XMing)的目录下会有一个X0.hosts 文件
将你服务器的ip地址加在localhost后面(例如XXX.XX.XXX.XX):
localhost
XXX.XX.XXX.XX(服务器ip)
2.服务器上配置
查看你的本机ip地址,也就是IPv4的默认网关地址,可以通过控制面板--网络和共享中心查看;也可以在win的powershell里面输入:ipconfig 查看本地ip地址 这里假设是172.16.157.193
得到本地ip地址后,在你服务器上配置 $DISPLAY 环境,打开.bashrc 文件
export DISPLAY="172.16.157.193:0.0"
即为本地ip + 刚才配置的Xserver端口号(:0.0)
写入保存后重启服务器客户端或者source一下.bashrc,并尝试输出对应的地址:
echo $DISPLAY
四、调试
在服务器终端输入
xclock
在本地会调用Xserver生成图形界面
附:可以正常使用python程序调用plt.show()生成图形界面:
注意:
上述的图形数据传输过程基于本地和服务器之间要能够相互之间ping通:
1.如服务器ip地址和本地电脑ip地址在同一个网段,例如192.168.x.x和192.168.x.x在同一个网段,则一般都是可以相互ping通的。
2.如果本地电脑能ping通服务器而服务器ping不通本地电脑,则将本地电脑的防火墙关闭就好了。
版权声明:本文标题:通过vscode + VcXsrv(or XMing) 来解决通过Remote -ssh连接到服务器无法显示GUI图像的问题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729150480h1324132.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论