how can I enable x-11 forwarding in pycharm? when

2019-03-27 14:02发布

I am using pycharm in windows but the python backend need to be running on unix so I host the python app/code in ubuntu with vagrant, however I need to do some plotting as well, is there a way I can enable matplotlab plotting in pycharm with vagrant? thanks

2条回答
爷、活的狠高调
2楼-- · 2019-03-27 14:42

In case anyone stumbles upon the same issue.. There are several ways for you to enable X11 through PyCharm.

The solution for me was to create a terminal session using the -Y flag (or -X), e.g.:

ssh -X user@ip

or

ssh -Y user@ip

The -Y worked for me as it enables trusted X11 forwarding, which are not subjected to X11 Security extension controls (ssh man page)

You also need to export DISPLAY variable just like user138180 said

For me the matplotlib backend that worked was "tkagg". See matplotlib faq for more info.


My remote machine is a centos 7. My local machine is running Manjaro.

A workaround to having the terminal session opened is to follow what Tarun said here.


As an example, (thanks, user138180), you could use this code to test if it works:

import matplotlib matplotlib.use('TkAgg')
import matplotlib.pyplot as plt plt.interactive(False)

plt.hist(np.random.randn(100))
plt.show()
查看更多
走好不送
3楼-- · 2019-03-27 14:55

Try to set DISPLAY environment variable in PyCharm run configuration like this:

DISPLAY=localhost:10.0

I got my display value from vagrant ssh connection

vagrant@vagrant:$ echo $DISPLAY
localhost:10.0
查看更多
登录 后发表回答