2012-07-13 14 views
5

私は、リモートコンピュータ上のIPythonノートブックに(sshトンネル経由またはhttps経由で)接続し、ipythonノートブックにmatplotlibプロットを新しいウィンドウ( 'インライン'と比較して)で開かせたいと思います。インラインプロットを使用せずにIPythonノートブックにリモートからアクセスできますか?

これは可能ですか?

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

X11サーバーがクライアントコンピュータ上で実行されており、ssh-tunnelを作成するときに-Yオプションを使用してX11転送を有効にしました。

ありがとうございました。

+1

リモートコンピュータでもX11転送を有効にする必要があります(sshdオプションを使用)。 –

+0

ありがとうございますが、このオプションが有効になっていると思います。つまり、X11を使ってemacs、gimpなどのウィンドウを開くことはできますが、ipythonカーネルを実行しているノートブックは何とかできません。 – user1522298

+0

まず、「-Yオプションを使用する」と言った:それは '-X'でなければならない。さて、私は私のUbuntuのコンピュータからこれを行うことができました(少し不安でしたが、私のadsl接続をはぐくむ傾向がありました)。プロットを 'show()'しようとすると、私の他のボックス(直接インターネット)から、ipythonカーネルが "Xサーバーに接続できません"というクラッシュが発生します。まだ、私はなぜ仕事をしていない... – drevicko

答えて

4

はい、少なくともsshポートトンネリング経由です。

(注:例が吹くがUbuntuの12.04で行ったが、同じ原理は他のプラットフォームで動作するはずです)

私は同様の問題を抱えて、私はポートベースの中からIPythonノートブックを実行する場合ことが判明したとX-forwarding sshセッション(つまり、ポートとX転送を設定するセッション)は動作します。不器用で迷惑な、しかしそれは動作します。例えば:私はポート8889を転送してきた

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/' 

注 - これは私が私のat-homeのマシン上のブラウザでhttp://localhost:8889/を使用することを意味します。私にとっては、これはQt4Aggバックエンドでうまく動作します。

私はこの方法でIPythonノートブックサーバーを実行すると(すなわち:ssh -Xセッション内から)httpsを介してノートブックにアクセスすることもできると思います。プロットは、Xセッションが転送されたマシンに表示されることに注意してください。誰かが別のマシン上のブラウザでノートブックを実行している場合、これはちょっと変わったかもしれません!

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

+0

+1!ありがとう、これは私の問題を解決 "ポート転送"リモートipythonノートブックすぐに – Acorbe

関連する問題