VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发

VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发

问题

服务器 linux ubuntu16.04
本地 windows 10

很多小伙伴发现VSCode不能显示figure,只有用自带的jupyter才能勉强个截图、或者转战远程桌面,这对数据分析极为不方便。
在命令行键入xeyes(一个显示图像的命令)会failed,而桌面下会出现:
VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发_第1张图片

但是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 实现远程GUI,显示plt.plot, 设置x11端口转发_第2张图片
能免密登录就是成功了。

顺便一提VSCode 免密登录
https://blog.csdn.net/qq_34846662/article/details/99051947

3. VSCode 安装插件Remote X11

之后在设置里面设置私钥位置:
VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发_第3张图片
图方便的话直接把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()

就可以看到图了,哈哈哈哈~~~
VSCODE 实现远程GUI,显示plt.plot, 设置x11端口转发_第4张图片

你可能感兴趣的:(visual,studio,code,SSH,X11)