与服务器建立远程 ssh 连接后,vscode-server 似乎没有完成安装

问题描述

我使用带有 VS Code(内部人员)的 Remote-ssh 扩展连接到 AWS Linux 服务器。此连接使用存储在我本地计算机上的 SSH 密钥进行身份验证。连接后,会打开一个名为“安装”的终端,输出如下:

685ad2d6d150: running
Acquiring lock on /home/ubuntu/.vscode-server-insiders/bin/45aafeb326d0d3d56cbc9e2932f87e368dbf652d/vscode-remote-lock.ubuntu.45aafeb326d0d3d56cbc9e2932f87e368dbf652d
Found existing installation at /home/ubuntu/.vscode-server-insiders/bin/45aafeb326d0d3d56cbc9e2932f87e368dbf652d...
Checking /home/ubuntu/.vscode-server-insiders/.45aafeb326d0d3d56cbc9e2932f87e368dbf652d.log and /home/ubuntu/.vscode-server-insiders/.45aafeb326d0d3d56cbc9e2932f87e368dbf652d.pid for a running server
Looking for server with pid: 79962
Found running server...

*
* Reminder: You may only use this software with Visual Studio family products,* as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057)
*

Checking server status on port 45093 with wget
685ad2d6d150: start
SSH_AUTH_SOCK====
disPLAY====
webUiAccesstoken====
listeningOn==45093==
osReleaseId==ubuntu==
arch==x86_64==
tmpDir==/run/user/1000==
platform==linux==
unpackResult====
didLocalDownload==0==
downloadTime====
installTime====
extInstallTime====
serverStartTime====
connectionToken==86be68cd-ee77-49dc-ae26-5c1521022c2c==
685ad2d6d150: end

(此打印是在初始安装并重新连接到服务器之后,但输出大致相同)

之后“安装”终端保持打开状态。如果我关闭它,那么我的连接似乎被中断并试图打开一个文件,或者另一个 Bash 终端重新打开了安装终端。

如果我打开到用户目录的直接连接,我会收到以下警告:

Screenshot of warning icon

Extentions want to make the following changes to the terminal's environment

如果我从 git 存储库目录中打开连接,我不会收到该警告。

我的问题是,vscode-server-insiders“安装”完成了吗? “安装”终端是否应该一直保持打开状态?如果我关闭“安装”终端,是否应该断开连接并重新打开?出现的警告是因为我不在 git 存储库目录中吗?我应该收到那个警告吗?或者这就是使用 VS Code 通过 ssh 远程连接的所有正常过程?

抱歉,我用 Google 搜索过,但没有看到任何内容表明这是使用 Remote-ssh 扩展的常规行为。我觉得如果 vscode-server-insiders 安装完成,终端中的“安装”输出应该消失。但它似乎在 connectionToken==86be68cd-ee77-49dc-ae26-5c1521022c2c==4134564d6c5d: end 输出后挂起。只是想弄清楚这是否确实是应该发生的事情。

更新 1: 正如@VonC 所提到的,安装过程似乎确实挂了。我已经查看了 Troubleshooting hanging or failing connections 文档并将 "remote.SSH.showLoginTerminal": true,"remote.SSH.useLocalServer": false 添加到我的设置文件中,但它似乎没有什么区别。 Remote-ssh 扩展的输出日志中没有显示任何内容。开发人员的控制台中有很多 pty 错误,但没有其他任何东西看起来可能会使安装过程挂起。 那么,有没有人知道安装过程挂起的原因?

更新 2:remote.SSH.showLoginTerminal 设置为 false 根本不显示“安装”终端。但这是否隐藏了终端和问题,或者这实际上解决了问题?似乎“检查服务器状态...”步骤是挂在过程中的,但我仍然可以使用 bash 终端并打开文件。我还可以在 remote.SSH.showLoginTerminal 设置为 false 的情况下完成所有这些操作。我正在使用 ssh 密钥,但我没有使用密码登录。我想现在我更好奇这里到底发生了什么,并确保没有被这个设置隐藏的问题。

解决方法

Extensions want to make changes”部分似乎没有链接到 microsoft/vscode-remote-release,而是更像是一个 VSCode warning,如 microsoft/vscode issue 108940 所示,仍然在 issue 96699 中打开.

关闭安装终端不会终止会话,但会检查设置,如“Troubleshooting hanging or failing connections”中所示:诸如“remote.SSH.showLoginTerminal”之类的内容可能会影响您看到的内容。

OP Charles Williams 确认已将“remote.SSH.showLoginTerminal”设置为 false,这似乎解决(或隐藏?)了问题。

,

我在 VS Code 设置中设置了 remote.SSH.showLoginTerminal: false,它要么隐藏这些警告,要么摆脱它们。我不确定。所以,虽然我不知道为什么会出现这些警告,或者这个设置是否真的“修复”了它,但我想说这已经解决了,因为没有任何东西阻止我使用 VS Code 的 SSH 远程功能,而且我没有不再收到烦人的警告。