vsCode无法连接服务器问题解决及思考

这篇具有很好参考价值的文章主要介绍了vsCode无法连接服务器问题解决及思考。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

背景

早上刚打开电脑,准备开始一天的工作。但是发现VSCode无法连接上我的虚拟机了,导致无法工作了,这让我十分头疼。最终花了将近一天的时间将问题解决,但是其中的过程走了不少弯路,浪费了不少时间,也进行了反思。我们作为开发人员,应该要用软件思维去理解这款产品,帮助我们去思考问题。

一直秉承着:授人以鱼不如授人以渔的准则。本文分享一下自己问题分析思路,包括走的弯路。希望对大家有所帮助。

问题现象

早上打开电脑,准备用vsCode连接远程开发服务器,进行代码开发。但是工具一直提示无法连接Could not establish connection to "x.x.x.x": The VS Code Server failed to start.。如下:

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

根据提示是 vsCode Server 启动失败了。在这里,我们要有一个概念:什么是vsCode Server?

我们是通过windows 环境中的Visual Studio Code工具,通过ssh 协议登录上远程服务器,再进行开发。这样简单的功能似乎并不需要所谓的vsCode Server,因为这是sshd服务的功能。在这里,我提出一个vsCode功能,如果由你去开发实现,你会怎么去做呢?

  • 如何实现扩展功能中的代码格式化

VS Code的一大特点是拥有丰富的扩展生态系统,其中有一个简单功能,就是格式化代码。我们分别从 ssh 协议 和 vscode 两种 方案分析,如下:

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

由时序图可知,两者的核心差异在于,文件格式化操作是在主机操作,还是在远程服务器操作。前者需要将格式化之后的文件信息再次上传到远程服务器中,而后者则不需要。节约了带宽和提高效率。

采用vsCode Server 的好处有很多,比如:

  1. 智能感知和代码完成:通过在服务器上运行,VSCode Server可以为远程项目提供智能感知、代码完成、代码片段、代码导航等高级编辑功能。
  2. 版本控制集成:它支持版本控制系统的集成,如Git,允许开发者直接在编辑器中进行代码的提交、拉取、推送等操作。
  3. 调试支持:VSCode Server支持远程调试,意味着开发者可以在本地机器上设置断点、单步执行等,而调试的目标程序运行在远程服务器上。
  4. 语言功能:支持各种编程语言的语法高亮、代码格式化、代码修复等特性。
  5. 扩展支持:VS Code的一大特点是拥有丰富的扩展生态系统,VSCode Server允许这些扩展在远程环境中运行,提供增强的开发体验。
  6. 文件同步和共享:它能够实现文件的快速同步,支持多人协作开发,提高了团队开发的效率。

附一张官网图:

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

那么如何解决The VS Code Server failed to start.的错误呢?通过百度查找,网友共给出了两种方案:

  1. 打开VS Code菜单"View"->“Command Palatte”->“Kill VS Code Server on Host”,选择出问题的远程服务器杀掉那个上面的VS Code server,然后重新尝试登陆

其实质是担心vsCode Server运行异常,希望通过杀死服务,再通过重启恢复。

  1. 尝试把服务器端的vscode-server删掉

即执行命令。其原理是怀疑vsCode server的版本或配置异常。删除,在下次登陆时,重新下载生成。

rm -rf ~/.vscode-server

很可惜,这两个方法并不能解决我的问题。并且当我删除 vsCode server后,出现了新的错误。Could not establish connection to "192.168.6.129": Failed to download VS CodeServer (XHR failed).。如下:

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

XHR failed错误表示资源下载失败。一般情况下是因为连接无法访问导致的,可能是域名无法访问导致的。解决方式有两个方向:

  1. 修改域名解析方式。比如设置代理或直接填充hosts配置。
  2. 手动下载vsCode server。

我采用的是第二种方式,操作流程为:

  1. 获取vsCode server 版本。

可通过查看[Help]–> [about]查看commitID

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

  1. 手动下载vsCode-Server。
//注:将commitID 替换,因为commitID表示版本,vsCode server 应该要与Client 版本一致,这样才能避免异常
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commitID}/vscode-server-linux-x64.tar.gz
  1. 安装vsCode server。

    1. 创建新的空目录~/.vscode-server/bin/${commitID}
    mkdir -p ~/.vscode-server/bin/05047486b6df5eb8d44b2ecd70ea3bdf775fd937/
    rm ~/.vscode-server/bin/05047486b6df5eb8d44b2ecd70ea3bdf775fd937/* -rf
    
    1. vscode-server-linux-x64.tar.gz重命名,并创建下载完成标志文件。
     yihua@ubuntu:~/.vscode-server/bin/05047486b6df5eb8d44b2ecd70ea3bdf775fd937$ mv vscode-server-linux-x64.tar.gz vscode-server.tar.gz
     yihua@ubuntu:~/.vscode-server/bin/05047486b6df5eb8d44b2ecd70ea3bdf775fd937$ touch vscode-server.tar.gz.done
     yihua@ubuntu:~/.vscode-server/bin/05047486b6df5eb8d44b2ecd70ea3bdf775fd937$
    
  2. 重新登录。

发现依然还是出现Waiting for server log...错误。

兜兜转转又回到了最初的起点,于是我知道之前完全按照网上的思路是有问题的。于是我静下心,决定看看vsCode的报错日志。可通过终端上的OUTPUT查看。如下:

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

很明显,这里提示一个warning和Error。

其中warning 表示GLIBC的版本应该要 >=2.28。因为是警告,我也没有在意。

其中error 表示vsCode Server缺少依赖,可参考https://aka.ms/vsccode-remote/faq/old-linux链接。这个链接似乎比较老了,我最终是通过这个链接查看到有用信息。https://code.visualstudio.com/docs/remote/faq

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

如图所示,最新版本的Remote Development对内核版本以及glibc、libstdc++都有版本要求。我的远程服务器信息如下:

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

因为远程服务器使用的镜像是ubuntu-18.04,因此内核版本以及库版本较低。接下来的思路则是提高服务器的内核以及glibc版本。在这里我直接花了一个多小时,将虚拟机镜像改为ubuntu-20.04。

最终,再通过Visual Studio Code 可直接登录,十分顺利。

完结撒花 ~~~

总结

虽然问题最终是通过更新虚拟机镜像版本得以解决。但是前面走了很多弯路。我的感受就是:遇到问题,我们的第一反映则是百度搜索,查看是否解决方法,然后按照他人的操作,执行一遍,看是否能解决。如果不行,继续百度,继续做尝试。

这样的方式,在大多数情况下,可能会很快的帮助我们解决问题。但是当你经历多次盲目的尝试,并且失败后。我们应该静下心来自己进行问题分析,可能会有意想不到的发现。

多思考,多发现。

若我的内容对您有所帮助,还请关注我的公众号。不定期分享干活,剖析案例,也可以一起讨论分享。
我的宗旨:
踩完您工作中的所有坑并分享给您,让你的工作无bug,人生尽是坦途

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide

could not establish connection : the vs code server failed to start,常用工具篇,杂谈,vscode,服务器,ide文章来源地址https://www.toymoban.com/news/detail-839772.html

到了这里,关于vsCode无法连接服务器问题解决及思考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSH连接问题解决方案:服务器无法启动SSH服务

    在处理服务器管理和远程连接时,SSH(Secure Shell)是一个常用的工具。然而,有时候我们可能会遇到SSH启动失败的问题,导致无法通过SSH连接到服务器。本文将介绍一些解决SSH启动失败的常见方法。 检查SSH服务状态 首先,我们需要确认SSH服务的状态。可以通过以下命令检查

    2024年02月04日
    浏览(68)
  • 解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题

    问题描述 :在VSCode中通过SSH连接服务器,使用cv2.imshow或plt.show()无法显示图像。 并且VScode与MobaXterm可以ssh到远程服务器 参数说明: 保持MobaXterm开启的状态下,在VSCode中运行xclock,会显示一个时钟。

    2024年02月14日
    浏览(42)
  • 从服务器上直接下载huggingface模型,解决huggingface无法连接问题

    在服务器上使用huggingface模型时,如果直接指定模型名称,用AutoTokenizer.from_pretrained(“model_name”),可能会由于网络原因会报错 Failed to connect to huggingface.co port 443 after 75018 ms: Operation time out 因此我们需要下载模型到服务器上,得到模型本地的路径model_dir,再通过AutoTokenizer.fro

    2024年02月04日
    浏览(180)
  • vscode 连接远程服务器 服务器无法上网 离线配置 .vscode-server

    使用vscode连接远程服务器时会自动下载配置.vscode-server文件夹,如果远程服务器无法联网,则需要手动下载 1)网址: https://update.code.visualstudio.com/commit:替换为自己的vscode软件的id/server-linux-x64/stable 2)vscode commit id获取 点击导航栏中的Help–About–获取commit–复制到上方网址即可

    2024年04月10日
    浏览(68)
  • 解决Mac MongoDB连接问题:无法连接到服务器127.0.0.1:27017的错误

    MongoDB是一种流行的开源数据库系统,广泛用于开发和维护现代应用程序。在使用MongoDB的过程中,有时您可能会遇到连接问题,其中一个常见的问题是在Mac上无法连接到本地MongoDB服务器(127.0.0.1:27017)。这种错误可能会导致应用程序无法正常运行,因此需要尽快解决。 在本文

    2024年01月16日
    浏览(62)
  • vscode自动更新后ssh无法连接服务器

    `重启了一下电脑,发现vscode的ssh远程连接连不上所有的服务器了,提示远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件, 看了半天网上的攻略,终于找到一个,可能是这个更新是最近刚更的,很多人没升级也就没这个问题,所以网上的回答也少。 总结就是版本太高

    2024年04月14日
    浏览(43)
  • 解决问题:关于云服务器Linux在windows中telnet访问无法打开到主机的连接。 在端口 23: 连接失败的问题

    在本地先开启windows服务的telnet,在windows使用telnet 127.0.0.1 测试telnet服务是否启用 出现下面的即为可用 账号为本机的账户名在cmd中输入whoami即可得到,密码为自己开机密码 使用telnet测试是否能连接到服务器 在服务器端使用命令查看正在运行的端口 在服务器使用telnet 127.0.0.

    2024年02月10日
    浏览(49)
  • 记录篇 - SSH无法连接服务器 - 22端口已放行,宝塔登不上等问题解决方案

    最近这两天购买了一个阿里云新加坡轻量服务器 2H 1G用来学习使用,但是购买之后,我也是折腾了半天时间。 一开始一切正常,远程连接、安装宝塔面板、然后进入宝塔、安装各种运行环境、网站部署完成后,然后就当我开心的访问了我的小网站的适合,好景不长。服务器

    2024年02月12日
    浏览(61)
  • 由vscode自动升级到1.86导致的“终端可以ssh服务器,但是vscode无法连接服务器”

    简单来说就是,ssh配置没动,前两天还可以用vscode连接服务器,今天突然就连不上了,但是用本地终端ssh可以顺利连接。 我的ssh配置如下: 现在直接在终端中进行ssh,可以顺利连接。 然后在vscode中进行连接,一直失败。 主要报错信息如下: 同时,有个很重要的经验!vsco

    2024年02月19日
    浏览(54)
  • VScode中下载了插件但是无法找到SSH Target连接服务器的解决方法(CANNOT find SSH Target in remote explorer)

    VSCode版本vscode version:(version 1.82) 已下载扩展installed extensions: Remote - SSH v0.106.4 Remote - SSH: Editing Configuration Files v0.86.0 Remote Development v0.24.0 WSL v0.81.3         几天前我从pycharm转战vscode,在连接服务器时遇到了一些问题。根据一些较为古早的教程,应当下载上述的几个扩展插

    2024年04月25日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包