从远程服务器持续使用Jupyter Notebook

问题描述 投票:7回答:2

我使用ssh -L连接到远程服务器,但如果我关闭笔记本电脑盖或连接丢失,jupyter笔记本电脑将断开连接。

重新连接到远程服务器后,“最后”会话丢失。

可以做些什么让它持久? screen可以帮忙吗?

jupyter-notebook jupyter remote-access remote-server gnu-screen
2个回答
18
投票

在远程服务器上,您应该在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

4
投票

持久化Jupyter服务器会话的标准用法是使用nohup&;在您的远程服务器中使用IP地址xx.xx.xx.xx

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

现在,即使您关闭笔记本电脑或丢失连接,也可以通过将浏览器指向xx.xx.xx.xx:yyyy来重新连接


0
投票

我想补充@BiBi的答案,但没有足够的声誉来写回复..

而不是screen我可以建议你看看tmux。特别是,如果你将tmux与Tmux Plugin Manager结合起来并安装Tmux Resurrect,即使重新启动远程服务器,你也可以回到以前的Tmux会话。

tmux的快捷方式与屏幕的快捷方式有些相同,只是control + acontrol + b取代。当然,tmux允许您配置自定义快捷方式。

© www.soinside.com 2019 - 2024. All rights reserved.