背景
远程机器为Ubuntu,本地机器为Linux、Mac、Window均可,这里以Mac为例。需要在Pycharm远程执行调试,但是部分中间结果,特别是图像处理结果通过matplotlib即时显示在本地机器上。该功能依赖X11forward。
远程机器(Ubuntu)需要执行的操作
首先开启openssh-server的X11转发
1、1
sudo vim /etc/ssh/sshd_config
2、找到相应的项并修改为以下值:1
2
3X11Forwarding 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的值是空的,证明配置不对。