问题描述
我正在使用VS Code通过ssh在ubuntu服务器上进行远程Python开发。 VS Code处理ssh连接。我从IDE启动进程。如果断开连接很短,进程就会被杀死。
是否有办法阻止这种情况的发生?我希望VS Code中会有一个设置,因为有一台VS Code服务器已安装在远程计算机上,但是什么也没找到。
注意:我尝试了Moreno here推荐的程序,其中他使用了'tmux',但是在Linux中,除非您使用Faria在注释部分中介绍的mod,否则它不会成功
更新:可以“打破” Moreno提出的解决方案。长时间断开连接后,VS Code开始返回“终端进程/home/.../code-shell无法启动(退出代码:1)”。按照建议的问题排查方法无法解决问题。最终重新启动了VS Code,这是次优的解决方案。
解决方法
如上所述,我正在ssh进入的远程Ubuntu环境中使用VS Code。如果您要这样做,请遵循Moreno概述的步骤(请参阅相关链接),但由于我在Linux环境中工作,因此必须调整脚本中的某些项目。调整是:
-
确保您在“代码外壳”上设置文件权限,以便执行 是可能的。因此,在CLI的情况下,我
chmod a+x code-shell
允许任何人执行,但您可以做到 不管您满意吗? -
使脚本中的shebang行使用
/usr/bin/env bash
它将选择您的环境将使用的第一个允许的外壳 允许。使用/bin/bash
对我不起作用。 -
对脚本的命名部分稍作更改。我做到了 'vscode',后跟md5和的前3个字符。那使得 可区分的新终端。
因此整个过程是:在VS Code中为ssh remote设置->在工作区中调整VS Code设置,以运行修改后的终端(代码外壳)->使用所需权限创建代码外壳脚本。如果断开连接,运行进程将继续不间断。