ядро ​​ipython с удаленным дисплеем

Я использую ядро ​​​​ipython на удаленной машине через:

user@remote_machine$ ipython kernel
[IPKernelApp] To connect another client to this kernel, use:
[IPKernelApp] --existing kernel-24970.json

а затем через туннелирование ssh вручную (см. здесь) подключите к нему qtconsole на моей локальной машине:

user@local_machine$ for port in $(cat kernel-24970.json | grep '_port' | grep -o '[0-9]\+'); do ssh remote_machine -Y -f -N -L $port:127.0.0.1:$port; done
user@local_machine$ ipython qtconsole --existing kernel-24970.json

Это прекрасно работает. Однако для визуализации данных во время отладки я хочу использовать matplotlib.pyplot. Хотя я включил пересылку X11 в моем туннеле ssh (через -Y), когда я пытаюсь что-то построить, я получаю следующую ошибку:

TclError: no display name and no $DISPLAY environment variable

как будто переадресация X11 не имеет никакого эффекта.

Более того, однажды, когда у меня был доступ к удаленной машине, я запустил удаленное ядро ​​командой:

user@remote_machine$ ipython qtconsole

и повторил тот же процесс с моей локальной машины. На этот раз у меня не было ошибок. Но цифры рисовались на удаленной машине, а не на моей локальной.

Итак, кто-нибудь знает, можно ли подключиться к удаленному ядру ipython и отображать графики локально? (обратите внимание, что встроенный режим работает и показывает графики в локальной qtconsole, но это бесполезно для меня, так как мне часто нужно увеличивать масштаб).


person farmir    schedule 04.04.2014    source источник


Ответы (1)


Более простой и надежный подход состоит в том, чтобы запускать ipython удаленно, как вы это делали, и вместо того, чтобы пытаться удаленно выводить цифры, вместо этого сохранять их удаленно. В то же время смонтируйте удаленный каталог с помощью sftp и откройте его в локальном файловом браузере. Обязательно обновите представление каталога на случай, если удаленно сохраненные изображения не видны (в противном случае это может занять некоторое время). Один простой способ обновления представления удаленного каталога указан здесь.

person Ioannis Filippidis    schedule 01.09.2014
comment
cf также stackoverflow.com/questions/4706451/ - person Ioannis Filippidis; 02.09.2014