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

问题描述 投票:0回答:2

我在 Windows 中使用 pycharm,但 python 后端需要在 unix 上运行,因此我使用 vagrant 在 ubuntu 中托管 python 应用程序/代码,但是我也需要做一些绘图,有没有一种方法可以在中启用 matplotlab 绘图pycharm 和 vagrant?谢谢

ssh vagrant pycharm x11-forwarding
2个回答
8
投票

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

DISPLAY=localhost:10.0

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

vagrant@vagrant:$ echo $DISPLAY
localhost:10.0

3
投票

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

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

ssh -X user@ip

ssh -Y user@ip

-Y 对我有用,因为它支持可信 X11 转发,不受 X11 安全扩展控制(ssh 手册页

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

对我来说,有效的 matplotlib 后端是“tkagg”。有关更多信息,请参阅 matplotlib 常见问题解答


我的远程机器是 centos 7。我的本地机器正在运行 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()
© www.soinside.com 2019 - 2024. All rights reserved.