因为要在服务器上使用matplotlib.pyplot,所以需要配置X11来进行图形界面的转发,将Linux服务器的图形用户界面转发到本地Windows进行使用。
Windows端配置
vcxsrv是一款好用的windows X11 server,下载地址为vcxsrv下载,下载后安装,安装选项默认即可。
启动XLaunch,选择默认选项,选择Disable access control,启动完毕后可以在任务栏看到X图标。
Linux端配置
需要保证ssh
的配置文件/etc/ssh/sshd_config
中X11Forwarding
设置为yes
。
X11转发设置成功的标志是,linux端DISPLAY
变量被自动设置。
打开cmd。
$ ssh -v -X username$host
若出现错误提醒:
debug1: X11 forwarding requested but DISPLAY not set
在linux端检查DISPLAY
值。
$ echo $DISPLAY
是空值,表明设置失败。原因是windows端没有设置DISPLAY
变量。
使用管理员权限启动cmd,设置DISPLAY
变量。注意需要cmd,powershell所用命令不同。
$ setx "DISPLAY" "localhost:10.0" /m
再次测试。
$ echo DISPLAY
localhost:29.0
显示有值,表示设置成功。
在ssh config
文件中添加下述配置,实现对所有ssh
连接,打开X11转发并信任。
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
可以使用一个转动齿轮程序来测试窗口运行情况(如果没有需要安装对应的软件包)
$ glxgears
可以看到,齿轮运行良好,而且还跑满了内网的带宽。程序的帧率和窗口的分辨率以及网络的速度有关。