当通过 SSH 连接到远程服务器并使用 VS Code 时,VS Code 会在远程服务器上启动一些后台进程(daemon)。即使你关闭了本地的 VS Code 窗口,这些远程后台进程并不会停止。所以,当你下次再次连接到远程服务器时,VS Code 会直接复用这些已经存在的后台进程,从而加快启动速度。
不过,这种机制可能会带来一个问题:如果你在连接后的操作中修改了用户的用户组信息(例如添加用户到一个新用户组),已经运行的 VS Code 后台进程仍然按之前的用户组信息在工作。因此,从这些后台进程启动的所有新进程也会继承旧的用户组配置,导致用户组的更新没有生效。
解决这个问题的一个简单方法是:手动关闭所有已经运行的 VS Code 后台进程,然后重新连接远程服务器,这样新启动的进程就会加载最新的用户组信息。
比如使用vscode自己的命令
或者使用命令行终止自己用户的所有vscode进程
参考的命令
在读不懂这个命令和了解其作用的情况下,建议不要随便执行
ps aux | grep $(whoami) | grep vscode | awk '{print $2}' | xargs kill
同样的,使用tmux也会有这个问题,在attach到一个之前的tmux session的时候,也会遇到没有更新的用户组的情况