如何在pycharm中启用x-11转发?连接到vagrant或远程ssh时?

时间:2015-06-12 23:02:31

标签: ssh vagrant pycharm x11-forwarding

我在windows中使用pycharm但是python后端需要在unix上运行所以我在ubuntu中使用vagrant托管python应用程序/代码,但是我需要做一些绘图,有没有办法我可以启用matplotlab与pyrantm密谋合谋?谢谢

2 个答案:

答案 0 :(得分:7)

尝试在PyCharm运行配置中设置DISPLAY环境变量,如下所示:

DISPLAY=localhost:10.0

我从vagrant ssh连接获得了显示值

vagrant@vagrant:$ echo $DISPLAY
localhost:10.0

答案 1 :(得分:1)

万一有人偶然发现同一问题。.您可以通过多种方式通过PyCharm启用X11。

对我来说,解决方案是使用-Y标志(或-X)创建终端会话,例如:

ssh -X user@ip

ssh -Y user@ip

-Y对我有用,因为它启用了受信任的X11转发,该转发不受X11安全扩展控件(ssh man page)的约束

您还需要导出DISPLAY 变量,就像user138180所说的

对我来说,有效的 matplotlib后端是“ tkagg ”。有关更多信息,请参见matplotlib faq


我的远程计算机是centos7。我的本地计算机正在运行Manjaro。

打开终端会话的一种解决方法是遵循塔伦(Tarun)所说的here


例如(感谢user138180),您可以使用以下代码测试其是否有效:

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

plt.hist(np.random.randn(100))
plt.show()