0

リモート マシンで 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 を使用したいと考えています。ssh トンネルで (-Y を介して) X11 転送を有効にしましたが、何かをプロットしようとすると、次のエラーが発生します。

TclError: no display name and no $DISPLAY environment variable

あたかも X11 転送が何の効果も持たないかのように。

さらに、リモート マシンにアクセスできるようになったら、リモート カーネルを次のように起動しました。

user@remote_machine$ ipython qtconsole

ローカルマシンから同じプロセスを繰り返しました。今回は、エラーは発生しませんでした。しかし、数値はローカル マシンではなくリモート マシンでプロットされていました。

それで、リモートのipythonカーネルに接続してプロットをローカルに表示できるかどうか知っている人はいますか? (インラインモードが機能し、ローカルのqtconsoleにプロットが表示されることに注意してください。ただし、頻繁にズームインする必要があるため、これは役に立ちません)。

4

1 に答える 1