发现问题
最新 JetBrains 官方陆续将旗下 IDE 升级至 2024.3 版本,作为用新不用旧的男人,本人第一时间更新并使用了,一切如常,直到我某天发现 WSL 每次都会自己启动,我在以前是根本不会的事情,只有我在使用他之前才会手动的启动,而且我也重来没配置过开机自启,纳闷了几天后,终于给我找到问题原因所在了。
寻找原因
一开始我还以为是最新版的 WSL 哪里配置了开机自启,因为最近刚好 WSL 也更新了版本,但每次开机运行 wsl -l -v
命令发现没有启动,看官方发行说明也没说加了这些功能,就很纳闷。
就这么持续了几天后,在每次 WSL 自启后我都 wsl --shutdown
手动停掉了,但某一次,我在 IDEA 内停掉 WSL 后切换项目时,总是会报某个 IDEA 内部错误,其中就有 Windows Subsystem Linux
的字样,一开始没在意,有次空闲时,我就在启动 IDEA 之前观察 WSL 是停止的,但每当我启动 IDEA 后或者切换项目时,WSL 总会启动运行,在不同电脑上百分百复现后,原因算是明了了,就是新版 IDEA 的问题,包括但不限于其他 IDE,比如 GoLand、PyCharm、Rider 等其他 2024.3 版本 IDE。
解决问题
既然知道原因所在了,直接网络搜索一波,必应,启动!但是,可能是版本太新的缘故,网络上并没有此问题大量报告,突然,想到 JetBrains 官方不是有个问题反馈跟踪的网站吗,话不多说,Edge,启动!访问 https://youtrack.jetbrains.com/issues ,搜索 wsl
关键字,终于被我找到几个有同样问题的哥们了。最终,在一个反馈的评论区,找到了根本原因及方法: https://youtrack.jetbrains.com/issue/IJPL-149878/Switch-WSL-filesystem-to-IJent
大致来说就是一个绑定的内置插件 Remote Execution Agent
引起的问题,他会自动的给 IDE 弄一个注册表项 wsl.use.remote.agent.for.nio.filesystem
,就是这玩意会导致该问题的发生,所以要么停用该插件,要么就将该注册表项关闭。
注:IDE 注册表项的打开方式为 工具栏的帮助->查找操作…->输入注册表后选择进入
在操作完后重启 IDE ,观察 WSL 运行状态,一切正常,问题成功解决。
以上操作适用于 JetBrains 家所有有该问题的 2024.3 版本。