VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发
问题
服务器 linux ubuntu16.04
本地 windows 10
很多小伙伴发现VSCode不能显示figure,只有用自带的jupyter才能勉强个截图、或者转战远程桌面,这对数据分析极为不方便。
在命令行键入xeyes(一个显示图像的命令)会failed,而桌面下会出现:
但是Xshell能实现X11转发图像,有交互功能,但只能用Xshell输入命令plot,实在不方便。
其实VScode有X11转发插件!!
方法
1. 安装Xming
https://blog.csdn.net/akuoma/article/details/82182913
运行Xming
这个时候能用Xshell 实现远程GUI访问了
2. 配置免密登录(已有请跳过)
这里需要配置一个免密登录的公私秘钥。
在服务器运行
ssh-keygen -t rsa -C "username"
一路“yes”产生公私秘钥在~/.ssh
将id_rsa.pub重命名为authorized_keys
cp id_rsa.pub authorized_keys
将公私秘钥从服务器上下载到本地,妥善保管,并删除服务器的私钥。
rm id_rsa.pub
rm id_rsa
公钥可以放在别的服务器上实现多个服务器免密登录。
用Xshell可以检验是否成功。
能免密登录就是成功了。
顺便一提VSCode 免密登录
https://blog.csdn.net/qq_34846662/article/details/99051947
3. VSCode 安装插件Remote X11
之后在设置里面设置私钥位置:
图方便的话直接把2中的私钥放在
C:\Users\XXX.ssh 下面
此时在VSCode终端运行测试代码
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()
就可以看到图了,哈哈哈哈~~~