Следующее работало для меня с использованием Mac OS X на локальном компьютере (машина B) и Ubuntu на удаленном компьютере (машина A).
Для этого на вашем локальном компьютере должен быть установлен сервер X11.
Если вы используете последнюю версию Mac OSX (OS X Mountain Lion или новее), она НЕ будет поставляться с предустановленной X11 (см. http://support.apple.com/kb/ht5293). Проверьте, есть ли у вас X11, открыв Mac терминал и выполните команду xterm
.
Если откроется окно X11, все готово. Если написано, что команда не найдена, перейдите на http://xquartz.macosforge.org/landing/ и установите сервер X11. Затем выйдите из системы и снова войдите в свой Mac.
После того, как вы снова войдете в систему, попробуйте снова запустить команду xterm
. Это должно открыть окно X11.
На этом этапе ваша переменная $ DISPLAY также должна быть установлена правильно. Если он не установлен, убедитесь, что вы выполнили вход / выход после установки X11 из XQuartz.
echo $DISPLAY
/tmp/launch-I9I3aI/org.macosforge.xquartz:0
Затем с локального компьютера используйте ssh -X для удаленного доступа к удаленному компьютеру A:
ssh -X user@machineA
Затем на удаленной машине:
python
>>> import matplotlib
>>> matplotlib.use('GTKAgg') #I had to use GTKAgg for this to work, GTK threw errors
>>> import matplotlib.pyplot as plt #... and now do whatever you need...
Убедитесь, что вы звоните matplotlib.use
ПЕРЕД импортированием чего-либо еще из matplotlib
(например, matplotlib.pyplot
)
Другие полезные советы по устранению неполадок при использовании ssh -X: http://oroborosx.sourceforge.net/remotex.html#usessh