無法在 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 開始功能表發出 a。

也就是說,只有透過應用程式圖示啟動時才會發生這種情況,這一事實有點可疑。這可能指向你的~/.bashrc.執行wsl.exe bash -l any_windows_program.exe會跳過互動式啟動 ( ~/.bashrc),但會執行 ,~/.bash_profile因為您將其指定為登入 shell ( -l)。

如果問題再次出現,請嘗試使用wsl bash -li any_windows_program.exe,看看是否是互動式啟動所引起的。

相關內容