繁体   English   中英

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

[英]After Establishing a Remote-ssh connection to the server, it appears the vscode-server does not finish the installation

我正在使用带有 VS Code(Insiders)的 Remote-ssh 扩展来连接到 AWS Linux 服务器。 此连接使用存储在我的本地计算机上的 SSH 密钥进行身份验证。 连接后,会打开一个名为“install”的终端,下面是output:

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

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

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

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

警告图标的屏幕截图

扩展想要对终端的环境做如下改动

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

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

抱歉,我已经用 Google 搜索过,但没有看到任何关于这是使用 Remote-ssh 扩展的常规行为的信息。 我觉得如果 vscode-server-insiders 安装完成,终端中的“安装”output 应该 go 离开。 但是在connectionToken==86be68cd-ee77-49dc-ae26-5c1521022c2c==4134564d6c5d: end output之后似乎挂了。 只是想弄清楚这是否确实应该发生。

更新 1:正如@VonC 所述,安装过程似乎确实挂起。 我已经查看了故障排除挂起或失败的连接文档,并在我的设置文件中添加了"remote.SSH.showLoginTerminal": true, "remote.SSH.useLocalServer": false ,但这似乎没有什么不同。 Remote-ssh 扩展的 output 日志中没有显示任何内容。 开发人员的控制台中有很多 pty 错误,但看起来没有其他可能导致安装过程挂起。 那么,有没有人知道为什么安装过程会挂起?

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

Extensions want to make changes ”部分似乎与microsoft/vscode-remote-release ,而更像是一个VSCode 警告,如microsoft/vscode问题 108940 所示,仍然在问题 96699中打开。

关闭安装终端不会终止 session,但会检查设置,如“ 解决挂起或失败连接”中所示:类似“ remote.SSH.showLoginTerminal ”的内容可能与您所看到的有关。

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

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

我遇到了和你一样的问题。 最后发现这个问题是因为我同时使用了MobaXterm和vscode来连接远程主机。 当我关闭 MobaXterm ssh 连接后,vscode 中的问题就解决了。

允许编辑器在您访问的每台远程服务器上安装随机未记录的代码是非常奇怪的。

我花了相当多的时间浏览当前(2022 年 8 月)VS Code 3rd-party 扩展来寻找侵入性较小的替代方案,最直接的似乎是使用常用技术的“ftp-simple” (s)ftp 作为远程服务器的文件 io 方法,允许您浏览文件系统、打开文件、编辑、保存,就像在本地文件系统上一样。

其他一些 VS Code 3rd-party (s)ftp 扩展使用重量级的“同步工作区”model,您的客户端将整个目录树复制到您的“远程文件夹”下,假设它是一个“项目”,然后保持本地副本与服务器。 这对于从事小型项目的开发人员来说很好(尽管坦率地说 Git 会更好),但不适合我可能需要做的系统管理员临时文件编辑。 另一个问题是某些扩展允许您编辑远程文件,但不集成浏览远程文件系统,因此您必须为要编辑的文件指定完整的文件名。

SFTP 非常适合远程文件编辑,因为编辑器文件 i/o 基本上是“浏览文件系统”、“读取整个文件”、“保存整个文件”,映射到 sftp 很好,以及编辑和文件之间的清晰划分读/写使远程访问不易受到连接问题的影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM