6

リモート コンピューター上の IPython ノートブックに (ssh トンネル経由または https 経由で) 接続し、ipython ノートブックに新しいウィンドウで (「インライン」ではなく) matplotlib プロットを開きたいと思います。

これは可能ですか?

「インライン」バックエンドなしでプロットしようとすると、ノートブック カーネルが「: X サーバーに接続できません」と報告し、クラッシュします。

X11 サーバーはクライアント コンピューターで実行されており、ssh トンネルの作成時に -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 -XIPython ノートブック サーバーをこの方法で (つまり、セッション内から) 実行すると、https 経由でノートブックにアクセスする場合にも機能すると思われます。プロットは、X セッションの転送元のマシンに表示されることに注意してください。誰かが別のマシンのブラウザーでノートブックを実行している場合、これは少し奇妙かもしれません!

実行中の IPython ノートブック サーバーに、新しい ssh セッションによって転送された X サーバーを見つける方法を伝えることは可能かもしれませんが、その方法はわかりません (知識のある編集を歓迎します!)。

于 2013-04-10T03:28:52.107 に答える