VScode 远程连接服务器 GUI 显示

发布时间 2023-08-14 21:20:42作者: 独思则滞而不通

VScode 远程连接服务器 的指导就不详述了

注意以下几点

在本地ssh配置文件config中 加上如下配置
ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted yes

正文如下 :

安装插件
vscode上安装Remote X11(SSH)和 Remote X11 插件:

安装xserver服务
微软官方推荐安装VcXsrv

理论上 xming之类的也应该是可以的,但我用 Xming 6.9.031 没有能正确配置成功
下载完成之后 一路next安装完
最后就是开始运行xlaunch这个软件,图标是xlaunch,如下图设置,选择一个指定的display number,并勾选disable access control,否则会报错如下
Authorization required, but no authorization protocol specified
Error: Can't open display
注意windows 防火墙需要允许
运行好就直接放在右下盘的托盘就好。
以上设置默认

手动勾选 disable access control
 

远程环境的配置

通过命令echo $DISPLAY 查看DISPLAY的值,并修改成刚才指定的display number
(0.0不能连接成功 ,10.0 才行)
关于DISPLAY的本文的默认配置
 echo $DISPLAY
export DISPLAY="localhost:10.0"
#每次重启后会消失,可以把上述命令追加到~/.bashrc
source ~/.bashrc
#验证一下是否设置成功
echo $DISPLAY
#验证下是否可以正常使用,看能否弹出时钟,若弹出说明成功,不弹出重启vscode试试
xclock

其他测试命令

xeyes,xterm
 

VScode的调试配置

在debug 中 点击设置 按钮,出现 launch.json  添加 json 配置 ,如下图
 "env": {
                "DISPLAY": "localhost:10.0"
            }
 
在启动vscode 调试时 会自动找到 vcxsrv 的服务端
 

验证是否能够正常使用图形化界面

验证工程程序可使用服务器GUI:可使用下面python程序,如果出现图像则安装成功。

pip install matplotlib
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
ax.scatter(np.random.rand(10),np.random.rand(10),np.random.rand(10))
plt.show()