配置PyCharm远程调试并本地显示matplotlib图像

背景

远程机器为Ubuntu,本地机器为Linux、Mac、Window均可,这里以Mac为例。需要在Pycharm远程执行调试,但是部分中间结果,特别是图像处理结果通过matplotlib即时显示在本地机器上。该功能依赖X11forward。

远程机器(Ubuntu)需要执行的操作

首先开启openssh-server的X11转发

1、

1
sudo vim /etc/ssh/sshd_config

2、找到相应的项并修改为以下值:

1
2
3
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

3、重启ssh服务

安装openbox

1
sudo apt-get install openbox

本地机器(Mac)需要执行的操作

首先安装xquartz

1
brew install caskroom/cask/xquartz

其次开启ssh的X11,由于我们直接用PyCharm的shell,因此就改Pycharm即可

1、通过Pycharm->Run->Edit Configurations,添加一条python的环境变量

1
DISPLAY=thucloud-PowerEdge-T630:10.0;

其中DISPLAY的值需要由以下命令获得:
通过命令ssh -X user@IP连接到远程主机,执行echo $DISPLAY即可获得DISPLAY的值,将这个值填在Pycharm的环境变量里即可。注意,如果这个DISPLAY的值是空的,证明配置不对。

大功告成

0%