无法在 WSL 控制台中启动任何 EXE

无法在 WSL 控制台中启动任何 EXE

如果我打开 WSL 控制台(通过单击开始菜单中的应用程序图标),然后启动任何 Windows exe,它就会挂起。我可以看到新进程出现在 Linux 端进程列表中,但在 Windows 任务管理器中找不到它。

但是,如果我在任何其他控制台(包括 PowerShell、CMD(通过调用wsl.exe bash -l any_windows_program.exe)或 IDE 中的嵌入式终端)启动 WSL,一切都可以正常工作。

为什么?


背景信息:

我正在使用 Microsoft Store 的 KALI 发行版。几天前它还能用,但最近我没有更新任何内容。


编辑:

我注意到我的资源管理器也无法正常工作。通常,当我创建新文件或文件夹时,它应该立即出现在资源管理器中。但今天直到我按下 F5 键它才出现。

我尝试重新启动资源管理器,它停止了,但没有重新启动,然后所有进程窗口都冻结了(没有响应鼠标/键盘操作)。

重新启动即可解决所有这些问题。这似乎是内核或驱动程序错误。

答案1

只是想到这个可以与 Windows 主机休眠或使用“快速启动”选项(这也是一种休眠形式)关闭时 WSL 中出现的网络问题有关。

如果有可能的话,有两条可能的建议:

  • 关闭 Windows 快速启动(在 下Control Panel\Hardware and Sound\Power Options -> Choose what the power buttons do)。
  • 休眠后(如果必须),退出 Kali 并wsl --shutdown从 PowerShell、CMD 或 Windows 开始菜单发出。

话虽如此,但只有通过 App 图标启动时才会发生这种情况,这一点有点可疑。这可能表明您的 中存在问题~/.bashrc。运行wsl.exe bash -l any_windows_program.exe会跳过交互式启动 ( ~/.bashrc),但会运行 ,~/.bash_profile因为您将其指定为登录 shell ( -l)。

如果问题再次出现,请尝试用 来wsl bash -li any_windows_program.exe查看是否是由交互式启动引起的。

相关内容