在远程服务器(SSH)上断开连接后,如何继续运行使用VSCode的Jupyter笔记本?

39
我正在使用VSCode通过SSH与Jupyter Notebook扩展程序远程连接服务器,但是当我从会话中断开时,代码的过程也停止了。 是否有一种方法可以在类似tmux工具的后台进程中从VSCode运行笔记本? 因为我离Linux专家还很远,无法想象如何通过VSCode使用tmux来运行笔记本过程。 非常感谢您的帮助。

1
你找到了一种方法来做这件事吗? - Karl
仍然没有抱歉,如果有人找到了解决方案,那将是很棒的。 - idanso
27个人点赞了你的问题,却没有人回答,这太疯狂了。其他人在做什么呢?我把我的代码和数据放在远程服务器上,通过ssh连接使用vscode。我有一个长时间运行的任务,我希望在断开连接时不要取消它。我的替代方案是什么? - Ali Tou
2个回答

1

只需在远程终端中启动tmux进程,然后在tmux会话中启动Jupyter。您可以退出tmux会话而不关闭它。 在VSC中,您可以将tmux会话选择为主机。


3
我曾经在命令行中使用tmux来运行程序,但从未与VSCode一起使用过。您能否详细说明一下在VSCode中如何使用tmux?主要是我不确定如何在VSCode中“选择tmux会话作为主机”。我尝试选择<me@my.ip.address:8888>,但我相当确定那不是正确的选择... - jbm
这个方案是可行的,但存在一个问题。如果您在关闭 VS Code 时有一个正在运行的单元格,则其进程将被中断。因此,如果您有一个长时间运行的单元格,则看起来并不是那么有用。 - pietro_molina
2
@pietro_molina 我确认你所写的。截至今天,有没有任何解决方案? - undefined

0
在您的服务器上打开一个新的tmux会话:例如,tmux new -s my_sess 进入带有笔记本的文件夹 如果您使用Anaconda,请激活带有您的库(包括Jupyter)的环境 启动jupyter笔记本电脑,可以选择指定要转发到的端口:例如jupyter notebook --no-browser --port=8080 & 从tmux断开连接 在VS Code中打开您的笔记本电脑 在右上角,单击按钮选择您的内核,并选择“选择另一个内核” -> “现有jupyter服务器” -> “输入正在运行的Jupyter服务器的URL” 如果您按第4点所述进行操作,请写入“http://localhost:8080/” 此时,您将被要求选择Python内核。我认为您可以选择任何一个,它都会在tmux中运行的jupyter服务器上使用内核。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接