
如果我打開 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
,看看是否是互動式啟動所引起的。