VSCodeのRemote SSHでJupyter Notebookを動かしていると、サーバー側が元気でもこちらの画面を閉じるとカーネルが死んでまう。それを防ぐ。

TL;DR

    1. Remote SSHでSSH接続する

 

    1. (Optional) pip, conda等でenvに入る

 

    1. (Optional) Jupyterのサーバーがない場合は立てる

 

    1. Jupyter Connectionを選択

 

    1. カーネルを選択

 

    安心して寝落ちる

説明

クライアント側
macOS Monterey, VSCode 1.74.2
サーバー側
Ubuntu, 22.04 LTS

1. Remote SSHでSSH接続する

VSCodeの拡張機能Remote SSHを使う。

2. (Optional) pip, conda等でenvに入る

カーネルのenvになる。

3. (Optional) Jupyterのサーバーがない場合は立てる

UNIX系なら、端末を閉じてもログアウトしても処理を続けるnohupコマンドを使う。

$ nohup jupyter notebook &

nohup.outというファイルができているので、そのファイルの一番下のURLをコピーする。

To access the notebook, open this file in a browser:
        file:///home/hogehoge
    Or copy and paste one of these URLs:
        http://localhost:8871/?token=hogehoge ## <-これをコピー
     or http://127.0.0.1:8871/?token=hogehoge ## <-これでも良い

nohupその他

jobsで現在処理中のプロセスが表示できる。

$ jobs
[1]  + running    nohup jupyter notebook

fg id(zshならfg %id)でジョブをフォアグラウンドに持ってこれる。ジョブを切りたい場合はフォアグラウンドにしてから^C。

$ fg %1
[1]  + 905549 running    nohup jupyter notebook
^C

4. Jupyter Connection

Screen Shot 2023-01-08 at 0.04.35.png

5. カーネルを選択

Screen Shot 2023-01-08 at 0.51.20.png

ここで、私の場合はJupyter Sessionが表示されない場合が多かった。Notebookを開きなおすとJupyter Kernelの方は表示された(Jupyter Sessionは表示されない)ので、Jupyter Kernelを選択してから一度適当なセルを実行し、もう一度見にいくとJupyter Sessionが追加されていた。

 

广告
将在 10 秒后关闭
bannerAds