Matplotlib: отобразите график на удаленной машине

У меня есть код Python, делающий некоторое вычисление на удаленной машине, названной A. Я соединяюсь на через ssh от машины по имени B. Существует ли способ отобразить число по машине B?

52
задан Mermoz 10 August 2010 в 09:34
поделиться

2 ответа

Если вы используете matplotlib в Mac OS X на удаленном компьютере (B), вы должны сначала убедитесь, что вы используете одну из базовых сторон дисплея на основе X11, поскольку собственная внутренняя часть Mac OS X не может экспортировать свои графики на другой дисплей. Выбор серверной части может быть достигнут с помощью

import matplotlib
matplotlib.use('GTK')  # Or any other X11 back-end

. Список поддерживаемых серверных компонентов можно получить, указав use () неправильное имя серверной части: matplotlib затем распечатает сообщение об ошибке, в котором перечислены возможные варианты возврата. -концы.

Затем для отображения графиков matplotlib можно использовать пересылку ssh X11.

26
ответ дан 7 November 2019 в 09:28
поделиться

Конечно, вы можете включить пересылку X11. Обычно это делается путем передачи параметра -X или -Y в ssh при подключении к удаленному компьютеру

ssh -X computerA

. Обратите внимание, что демон SSH на компьютере Также необходимо настроить A для включения пересылки X11. Это делается путем помещения

X11Forwarding yes

в файл конфигурации компьютера A sshd_config .

Если у демона SSH компьютера A не включена пересылка X11, вы всегда можете заставить Python записать результат вычисления в текстовый файл, загрузить его на компьютер B и использовать Matplotlib локально.

30
ответ дан 7 November 2019 в 09:28
поделиться
Другие вопросы по тегам:

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