我们大部分时候通过 SSH 远程连接服务器,在命令行中输入指令实现操作。 如果你曾经尝试过在服务器上执行 类似 plt.show() 的命令的话,那么你应该知道,图形窗口是无法显示的,为了能够方便便捷地编程,我们希望在本机可以看到这些图形窗口。 这就需要用到 SSH X11 转发了。本文将介绍如何在 VSCode 上配置 X11 转发。
Windows 端
1)下载 VcXsrv(免费开源)并安装(保持默认设置即可)
2)打开 XLaunch(第一步正确安装后,应该会有 XLaunch)
3)Display number 修改为 0
4)勾选 Disable access control
5)配置Windows的系统变量
变量名:DISPLAY
变量值:localhost:0.0
6)修改 C:/Users/Username/.ssh/config 文件,添加下面三行(Windows 配置完毕)
Host ...
HostName ...
...
...
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
服务器端
下面是服务器端需要进行的设置
1)启用 SSH X11 转发
sudo nano /etc/ssh/sshd_config
X11Forwarding yes # 确保以下两行未被注释
X11UseLocalhost no
sudo systemctl restart sshd # restart
sudo apt install xauth # Debian/Ubuntu # install xauth
sudo yum install xauth # CentOS/RHEL
2)新建 SSH 连接,服务器上运行
echo $DISPLAY
如果有输出,那么不用管;反之,利用
export DISPLAY=localhost:10.0
设置 DISPLAY。
运行 xeyes
这条命令,观察是否弹出窗口,弹出即为配置成功。