VS Code 连接到 WSL Ubuntu 20.04 LTS,失败并出现错误:无法获取远程环境
Posted
技术标签:
【中文标题】VS Code 连接到 WSL Ubuntu 20.04 LTS,失败并出现错误:无法获取远程环境【英文标题】:VS Code connect to WSL Ubuntu 20.04 LTS, fail with error: Could not fetch remote environment 【发布时间】:2021-01-15 09:19:01 【问题描述】:几天前,我在连接到 WSL Ubuntu 20.04 的 VS Code 上工作得很好,然后我对 WSL、Ubuntu 20.04 LTS 和 VS Code 进行了一些更新,现在我无法连接到 WSL 20.04,而且我总是得到这些两条消息,即使没有选择/打开文件夹/工作区。
无法获取远程环境
无法连接到远程扩展主机服务器(错误:连接错误:未经授权的客户端被拒绝。)
当我尝试打开一个文件夹时,它会显示文件夹结构,但它总是说:路径不存在。并且没有显示任何文件,但我可以上下跟踪文件夹结构。
另一方面,如果我使用较旧的 Ubuntu 18.04 发行版启动 WSL,它就可以正常工作。
我想有一些安全设置或访问列表是错误的,但我无法弄清楚,网络搜索也没有帮助。
知道该怎么做才能让它再次工作吗?
【问题讨论】:
【参考方案1】:我有同样的错误。 并通过使用命令关闭wsl来解决它
wsl --shutdown
【讨论】:
好吧,这对我来说不起作用。即使重新启动计算机也没有解决任何问题。【参考方案2】:好像更新搞砸了。通过重新安装Remote WSL extension: ms-vscode-remote.remote-wsl
并按照您的指示重新加载来修复它。
不过,在此之前,我删除了 (rm -rf) /home/
【讨论】:
删除以前的 .vscode* 目录是最有可能解决此问题的方法。 尝试了所有建议,但没有任何效果。还重新安装了远程扩展并 rm .vscode-server 如此处提到的,但没有成功。但是在将此扩展“ms-vscode-remote.vscode-remote-extensionpack”重置为旧版本并更新扩展后,它又可以工作了。【参考方案3】:要检查的另一个(附加)症状:WSL 可以连接到互联网(例如通过apt update
)吗?
我压缩了我的 AppData 文件夹,包括 C:\Users\<yourname>\AppData\Local\Temp
,这不知何故破坏了 WSL 与外部世界之间的联系。解压 Temp 文件夹为我解决了这个问题。
【讨论】:
搜索%temp%
目录,进入属性->常规->高级->取消选中压缩内容以节省磁盘空间。我还需要重新启动系统,但在那之后,它就可以工作了。【参考方案4】:
降低远程 WSL 扩展的版本:ms-vscode-remote.remote-wsl 为我解决了。最新版本可能存在一些问题。
【讨论】:
也为我工作。 “Visual Studio Code Remote - WSL”版本 0.58.4 对我不起作用。 0.85.3 适合我。【参考方案5】:以防万一其他人遇到这个问题。我解决的方法是删除 WSL 文件系统上的所有 .vscode* 文件夹/文件。显然升级时出了点问题。
我还没有完全测试它,因为我在测试系统上直接使用远程 ssh 代理。但它似乎可以工作,因为我现在可以打开 wsl 窗口并且它没有报告任何错误。
【讨论】:
【参考方案6】:更新版本(1.52.1)后,我遇到了同样的问题。我确实卸载了 ms-vscode-remote.remote-wsl 并再次安装并关闭了 WSL 并关闭了 vscode。然后启动 WSL 并再次打开 VS-code 解决了这个问题。
【讨论】:
【参考方案7】:同样的问题,只是代理软件(Charles等)并重新启动vscode,它会正常工作
【讨论】:
就我而言,没有代理软件,只有 WSL 和 VSC 以及一堆扩展。 这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review以上是关于VS Code 连接到 WSL Ubuntu 20.04 LTS,失败并出现错误:无法获取远程环境的主要内容,如果未能解决你的问题,请参考以下文章
Windows写代码,Linux运行 (WSL & VS Code)
Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置
如何从 WSL 连接到本地 Windows SQL Server 实例?