6

我想连接到远程计算机上的 IPython 笔记本(通过 ssh 隧道或通过 https)并让 ipython 笔记本在新窗口中打开 matplotlib 图(相对于“内联”)。

这可能吗?

当我尝试在没有“内联”后端的情况下进行绘图时,笔记本内核报告“:无法连接到 X 服务器”并崩溃。

X11 服务器在客户端计算机上运行,​​我在创建 ssh-tunnel 时使用 -Y 选项启用了 X11 转发。

感谢您的任何建议。

4

1 回答 1

5

是的,至少是通过 ssh 端口隧道。

(注意:示例是在 Ubuntu 12.04 上完成的,但同样的原则也适用于其他平台)

我遇到了类似的问题,发现如果我从端口和 X 转发 ssh 会话(即:设置端口和 X 转发的会话)中运行 IPython 笔记本,它就可以工作。笨重和烦人,但它的工作原理。例如:

at-home:~$ ssh -X -L 8889:localhost:8888 my.server
... login message from my.server
my.server:$ cd /folder/containing/my/notebooks
my.server:$ ipython notebook
[NotebookApp] .... lots of info about the IPython notebook server including
[NotebookApp] The IPython notebook is running at 'http://127.0.0.1:8888/'

请注意,我已经转发了端口 8889 - 这意味着我http://localhost:8889/在我at-home机器上的浏览器中使用。对我来说,这与 Qt4Agg 后端配合得很好。

ssh -X我怀疑如果您以这种方式运行 IPython 笔记本服务器(即:从会话中),它也可以通过 https 访问笔记本。请注意,这些图将出现在转发 X 会话的机器上。如果有人在另一台机器上的浏览器中运行笔记本,这可能有点奇怪!

可以告诉正在运行的 IPython 笔记本服务器如何找到由一些新的 ssh 会话转发的 X 服务器,但我不确定如何(欢迎知识编辑!)。

于 2013-04-10T03:28:52.107 回答