web-dev-qa-db-ja.com

リモートサーバーからのJupyter Notebookの永続的な使用

ssh -Lを使用してリモートサーバーに接続していますが、ラップトップの蓋を閉じるか、接続が失われると、jupyterノートブックが切断されます。

リモートサーバーに再接続すると、「最後の」セッションが失われます。

それを持続させるために何ができますか? screen助けてくれませんか?

15
Michael D

リモートサーバーでは、screenセッションでjupyterを開く必要があります。サーバーへの接続を失って再開した場合、永続化されます。

  1. パソコン:ssh -L xxxx:localhost:yyyy server
  2. screen
  3. jupyter notebook --no-browser --port=yyyy
  4. ブラウザで:localhost:xxxx

手動で切断して再接続するには:

  1. 画面ウィンドウを終了します:control + a、次にd
  2. サーバーから切断します:control + d
  3. そしてssh -L xxxx:localhost:yyyyを再接続します。
  4. 必要に応じて、screen -rを使用して、必要に応じて画面ウィンドウを再度開くことができます。
  5. ノートブックに戻るか、localhost:xxxxを再度開きます。
19
BiBi

Jupyterサーバーセッションを永続化するための標準的な使用法は、Nohupおよび&の使用です。リモートサーバーのIPアドレスxx.xx.xx.xx

Nohup jupyter notebook --no-browser --ip xx.xx.xx.xx --port yyyy &

これで、ラップトップの電源を切ったり、接続を失ったりしても、ブラウザをxx.xx.xx.xx:yyyyに向けることでいつでも再接続できます。

4
desertnaut

@BiBiの回答に追加したいのですが、返信を書くのに十分な評判がありません。

screenの代わりに、 tmux をご覧になることをお勧めします。特に、tmuxを Tmux Plugin Manager と組み合わせてインストールする場合 Tmux Resurrect 、リモートサーバーを再起動した後でも、以前のTmuxセッションに戻ることができます。

Tmuxのショートカットは、画面のショートカットと多少同じですが、control + acontrol + bに置き換えられています。もちろん、tmuxではカスタムショートカットを設定できます。

0
Bouke