VSCode远程连接服务器显示图像

主要是为了在远程服务器的python中,使用matplotlib和opencv的imshow显示图像,配置好后也可以使用远程服务器的其它图形化界面,gedit之类的。

以下文字内本地IP是你连接服务器的电脑的IP,与服务器IP对应。
例如我的两台机器都在局域网,本地IP是:172.20.121.69;服务器IP是:172.23.138.67。具体替换为你自己的IP。

环境

  • 本地:Windows10
  • 服务器:Ubuntu18.04

一、配置VcXsrv

1.下载

https://sourceforge.net/projects/vcxsrv/
下载了一路安装即可,注意设置一下安装路径,其它都是默认。

2.X0.hosts中添加服务器IP

在VcXsrv的安装路径找到X0.hostsVSCode远程连接服务器显示图像_第1张图片
在末尾添加服务器IP
VSCode远程连接服务器显示图像_第2张图片

3.启动VcXsrv

在VcXsrv的安装路径启动xlaunch.exe.
我把两个需要修改的地方画了箭头放了出来,其余均是默认设置。

VSCode远程连接服务器显示图像_第3张图片
VSCode远程连接服务器显示图像_第4张图片

VSCode远程连接服务器显示图像_第5张图片

VSCode远程连接服务器显示图像_第6张图片
至此VcXsrv配置完成。

一、配置VSCode

1.下载Remote X11

注意:本地和服务器都需要安装该插件。如果你只在本地安装了插件,再次搜索它,然后你会看到这样的选项,安装就完事了,我这里放的图是Beautify:
VSCode远程连接服务器显示图像_第7张图片
于是在已安装的插件列表你会看到两个Remote X11:

VSCode远程连接服务器显示图像_第8张图片

2.修改ssh配置文件

进入你的ssh配置C:\Users\xxx\.ssh\config
在末尾添加:

    ForwardX11 yes
    ForwardX11Trusted yes
    ForwardAgent yes

VSCode远程连接服务器显示图像_第9张图片

3.添加环境变量

在VSC里登录服务器(都想在服务器显示图像了,你应该知道怎么连接远程服务器吧?),将以下的xxx换成你的本地IP,添加环境变量:

vim ~/.bashrc
export DISPLAY="xxx:0.0"
source ~/.bashrc

不要在VSCode的settings.json里设置环境变量,至少我没有成功。

至此已经配置完成,接下来测试一下能否调用GUI。

三、测试GUI

1.xclock

远程终端输入xclock
VSCode远程连接服务器显示图像_第10张图片

2.gedit

VSCode远程连接服务器显示图像_第11张图片

3.matplotlib

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
matplotlib.use('TkAgg')

x=np.random.rand(100,100)
plt.imshow(x,cmap='gray')
plt.show()

VSCode远程连接服务器显示图像_第12张图片

4.opencv

import cv2
import numpy as np

x=np.random.rand(100,100)
cv2.imshow('',x)
cv2.waitKey(0)

VSCode远程连接服务器显示图像_第13张图片
opencv还有一点问题,关闭弹出的这个窗口后,无法继续执行剩下的代码,目前还是先用matplotlib吧。

如果不能显示的话,可以看一下以下链接:
https://blog.csdn.net/Dteam_f/article/details/109806294

你可能感兴趣的:(服务器,vscode,matplotlib,python,ssh)