平时运行一些实验的时候会喜欢用 vscode 打开服务器上的 Jupyter Notebook ,但是发现一旦 vscode 客户端会话断开服务器端的程序也会一同关闭。有的时候需要把笔记本带走一段时间,这时候如果可以 detach/attach vscode 会话就好了。但是搜了一圈 vscode 本身并不支持这个功能,想问一下有没有类似需求的 v 友请教一下是怎么实现的。

1 Quik Feb 21, 2025 via iPhone 之前大概研究过这个问题,解决方案是自己启动一个 Jupyter 服务器,然后 notebook 在选择 kernel 的时候选择你自己启动的这个,而不是 vscode 的插件自己临时启动的 kernel 。这样窗口关闭、reload 不影响你这个服务器包含的 kernel 的运行,再次连接会发现变量内容都还在 |
2 noqwerty Feb 21, 2025 可以曲线救国在 VSCode terminal 里用 screen/tmux/zellij 在后台跑?参考 https://docs.jupyter.org/en/latest/running.html#using-a-command-line-interface |
3 512357301 Feb 22, 2025 via Android 服务器跑个 docker 呢? docker 可以后台运行 |
4 cooltechbs Feb 22, 2025 @Quik 这个方法对于 Jupyter 的需求应该是完美了!但我有些好奇有没有 detach/attach“整个 vscode 远程会话”的可能性,因为我不是做 ML/DL 的,但工作会用到超大的 monorepo ,每次连上远程时,language server 要 load 一两分钟,如果能 detach 就没有这个延迟了(以及采用 CPU/IO credit 决定突发性能的 VPS 能省很多 credit ) |
5 xgdgsc Feb 22, 2025 via Android Julia 插件有 persistent mode 启动 tmux 的方式,Python 插件好像没有。不推荐用 vscode 的 jupyter ,推荐自己启动 jupyterlab 端口映射后在本地用 jupyterlab-desktop 连接 |
6 Syiize Feb 22, 2025 @cooltechbs 我猜你可能需要在远程部署一个 vscode web ,然后直接访问这个 vscode web https://code.visualstudio.com/docs/editor/vscode-web |