"ssh -X" не открывает цифры matplotlib

733
mwoods

Часто я захожу на другой компьютер для работы с Python. Пока я пишу код, мне нравится открывать оболочку ipython для быстрого тестирования. Почему-то я не могу заставить matplotlib открывать фигуры. Вот пример:

[mwoods@linux_box ~]$ ssh -X me@mac_machine Password: Last login: Fri Dec 15 13:03:37 2017 mwoods:~ /path/to/ipython Python 3.6.3 |Anaconda, Inc.| (default, Oct 6 2017, 12:04:38) Type ‘copyright’, ‘credit’ or ‘license’ for more information IPython 6.1.0 — An enhanced Interactive Python. Type ‘?’ for help.  In [1]: import matplotlib as mpl  In [2]: mpl.use('Agg')  In [3]: import matplotlib.pyplot as plt  In [4]: import numpy as np  In [5]: plt.ion()  In [6]: plt.imshow(np.random.rand(8, 8)) Out[6]: <matplotlib.image.AxesImage at hex_number>  In [7]:  

Сюжет не открывается. Как показано, я начинаю с linux box и ssh в Macintosh (у меня есть права администратора на mac). Mac работает на MacOS Sierra (10.12.6) и имеет установленную версию Anaconda 5.0.1. Другие команды пересылки X11 (например, xpdf, display) работают через одно и то же соединение ssh, поэтому я не думаю, что это имеет отношение к файлам ssh_config или sshd_config на обеих машинах. Может ли кто-нибудь помочь, пожалуйста?

4
Это интересная проблема. Вам * может * понадобится перенести его в Super User, но в любом случае это хороший вопрос. cwallenpoole 6 лет назад 2
Можете ли вы сказать нам, какой бэкэнд используется? Это может потребоваться некоторая помощь для пересылки через соединение. https://stackoverflow.com/q/3580027/2449192 darthbith 6 лет назад 0
@darthbith Я отредактировал пост, чтобы показать бэкэнд. По умолчанию используется MacOSX, но это не работает. Я попробовал Agg (как показано выше), но это также не работает. Затем я попробовал GTK и GTKAgg, но у меня нет pygtk. Я попытался "conda install -c mw gtk2", но я получаю ошибку HTTP. Он говорит мне продолжать пытаться, но мне не повезло с этим. 6 лет назад 0

1 ответ на вопрос

0
J. Scott Berg

Может быть, дать -S флаг ssh попробовать вместо -X. См. Документацию опции ForwardX11Trusted, чтобы узнать, что может происходить.

Я должен был упомянуть выше, что я попробовал это. Флаги -X и -Y не открывают цифры matplotlib. Хотя, как упоминалось в оригинальном посте, оба флага работают для таких программ, как xpdf и ImageMagick. mwoods 6 лет назад 0

Похожие вопросы