相关疑难解决方法(0)

WSL2:为什么我必须在重新启动 PC 后关闭 WSL 才能重新启动 WSL

我的 Windows 使用 Ubuntu 设置了 WSL。在我升级到 WSL2 之前,它一直运行良好。

问题是:每次我启动我的电脑(或重新启动我的电脑)时,它都会丢失从 Ubuntu 到 Windows 驱动器的连接。

我收到这样的消息:

cd: Input/output error: /mnt/d/
Run Code Online (Sandbox Code Playgroud)

通过运行以下命令可以轻松解决上述问题:

wsl.exe --shutdown
Run Code Online (Sandbox Code Playgroud)

我想永久解决这个问题,而不是每次遇到问题就关闭 WSL。

知道如何永久解决这个问题吗?

ubuntu windows-subsystem-for-linux wsl-2

5
推荐指数
2
解决办法
1万
查看次数

无法从 Windows 主机连接到 WSL2 上的本地服务器

我有一个 Python3 项目,用于waitress在 WSL2/Ubuntu 20 上的本地主机上提供服务。我从 VSCode 远程启动服务器,但无法使用地址http://127.0.0.1:5998或 http: 从 Windows 上的浏览​​器连接到它。 //localhost:5998,出现无法连接错误。我找不到它有什么问题并感谢任何帮助。

Python服务器:

@app.route('/')
def index():
    return 'Success'
...
if __name__ == '__main__':
    from waitress import serve
    process_count = multiprocessing.cpu_count()
    serve(app, host="0.0.0.0", port=5998, threads=process_count)
Run Code Online (Sandbox Code Playgroud)

我看到它在 WSL 上监听:

> sudo lsof -i -P -n | grep LISTEN
python3 1263 xxx    8u  IPv4  39138      0t0  TCP *:5998 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

我还尝试使用 127.0.0.1 作为serve() ip而不是0.0.0.0,但没有帮助。

我在 Windows 防火墙中有一条规则:

> Get-NetFirewallRule -DisplayName WSL

Name                  : {9c5c5f2b-a9c7-42b7-82ac-f0c2b1819103}
DisplayName           : WSL
Description           : …
Run Code Online (Sandbox Code Playgroud)

windows python-3.x waitress visual-studio-code wsl-2

4
推荐指数
1
解决办法
2万
查看次数