Linux服务器通过X11实现图像化界面显示

背景描述

​ 如何远程连接服务器并将图形界面输出一直是我烦恼的一个点,在实现很多项目的时候,使用matplotlib输出图像的内容是无法显示的,必须将图像保存下来查看,大大降低了项目的效率;

​ 像一些需要实时调控的项目,例如实时的行人追踪,我们往往传入一个视频文件,并且实时对视频中的行人进行检测并输出,如果不能将检测结果输出,而是需要保存,那么不仅代码需要修改,也不便于我们进行调试;

​ 这里推荐一个使用X11 Forwarding技术 + MobaXterm 工具的方法,安装简单,使用方便;

服务器端配置

1、修改SSH配置

vim /etc/ssh/sshd_config

# 将如下选项按下文设置
X11Forwarding yes
X11UseLocalhost no
AddressFamily inet

2、重启SSH服务

service ssh restart

Window端配置

1、安装MobaXterm工具

MobaXterm官网安装:https://mobaxterm.mobatek.net/download-home-edition.html

在这里插入图片描述

选择右边安装版进行下载;

下载后得到如下图所示压缩包:

在这里插入图片描述

需要解压缩!!!

随后运行msi安装程序,安装步骤无脑next就不在这说明了!

2、运行MobaXterm工具

新建一个会话,SSH连接你的服务器(和Xshell等远程连接工具类似):

在这里插入图片描述

登录服务器

在这里插入图片描述

这里需要输入用户名,随后输入密码即可!!!

简单测试

完成以上操作后,已经可以实现图形化输出了!

下面用matplotlib画图进行简单测试:

代码:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0, 69, 1)
plt.plot(t, t, 'r', t, t**2, 'b')
label = ['t', 't**2']
plt.legend(label, loc='upper left')
plt.show()

执行如上程序,输出画出的图像:

在这里插入图片描述

大功告成!!!

当然,像QT界面等也可以运行,功能相当强大

大家有遇到其他问题可以评论或者私信我!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐