pycharm远程服务器文件显示,pycharm 远程显示 matplotlib

本地:Ubuntu 16.04

远程服务器:Ubuntu 16.04

******************************************************************************

远程服务器上安装

sudo apt-get install xauth

sudo apt-get install xorg

在本地笔记本上打开终端,输入命令:连接上远程服务器,- Y表示建立可信客户端

ssh -Y user_name@remote_ip

连上之后,打开ssh文件:

vi /etc/ssh/sshd_config

找到下面这几行,并去掉注释,若没有,则加上这几行

X11Forwarding yes

X11DisplayOffset 10

X11UseLocalhost no

修改之后,重启ssh

service ssh restart

在终端中输入xeyes,可以在本地桌面显示那一双眼睛(如果没有这个命令,可以安装sudo apt-get install xeyes),于是确定了本地电脑和服务器之间的X11 forwarding服务是调通了的

然后输入echo $DISPLAY我这里显示是:

echo $DISPLAY

localhost:10.0

如果这里没有这个环境变量,可以手动设置一个export DISPLAY=localhost:10:0

这时候,在连接上远程服务器的ssh命令行上输入xeyes,检测是否屏幕上出现一双眼睛

若还是没有,本地客户端可以有两种方法保证ssh可以进行X11转发:

修改/etc/ssh/ssh_config或~/.ssh/config文件

前者是全局配置,后者为当前用户配置,二者都存在的情况下,后者会覆盖前者的配置。

有两个选项需要注意:

ForwardX11

ForwardX11Trusted

这两个的作用是相互影响的

ForwardX11

ForwardX11Trusted

ssh_mode

no

no

disabled

no

yes

disabled

yes

no

untrusted

yes

yes

trunsted

复制DISPLAY的输出,再获取当前matplotlib的后端配置,我这里的是 Qt5Agg

Python 3.7.0 (default, Jun 28 2018, 13:15:42)

[GCC 7.2.0] :: Anaconda, Inc. on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import matplotlib

>>> print(matplotlib.get_backend())

Qt5Agg

>>> exit

配置pycharm,RUN --> Edit Configuration --> Environment --> Environment Varibles,添加环境变量,如下图所示:

最后,写代码测试,注意在使用 matplotlib 时应该提前使用其后端,如下代码前2行所示:

import matplotlib

matplotlib.use('Qt5Agg') #这一句应该放在 import pyplot前面

import matplotlib.pyplot as plt

import numpy as np

plt.plot(np.arange(50))

plt.show()

先得在命令行中建立可信端链接(-p后面指定端口,默认为22可以不指定),当是实验室等多用户参与,不具有root权限的用户应该使用 -Y来建立可信客户端

参考:https://blog.csdn.net/rinai/article/details/23169823?utm_source=blogxgwz9

ssh_args

ssh_mode

ssh

disabled

ssh -X

untrusted

ssh -Y

trunsted

ssh -Y -p2345 user_name@remote_ip

然后run,就可以在本地笔记本pycharm中显示matplotlib图片了

你可能感兴趣的:(pycharm远程服务器文件显示,pycharm 远程显示 matplotlib)