WSL「在此處開啟 Linux shell」未在目前目錄中開啟

WSL「在此處開啟 Linux shell」未在目前目錄中開啟

如果我右鍵單擊按住 Shift 鍵的資料夾,它會在此處顯示開啟的 Linux shell。
但是,如果我在驅動器D:中,無論我在哪個資料夾中,它總是會打開從 開始的 Linux shell /mnt/d

原因可能是什麼?

答案1

啟動腳本中的某些內容可能會產生幹擾,但讓我們逐步完成故障排除。

首先,讓我們檢查一下當您選擇「在此處開啟 Linux shell」時 Windows 使用的命令。在 PowerShell 中:

(Get-ItemProperty -name "(default)" -LiteralPath Registry::HKEY_CLASSES_ROOT\Directory\shell\WSL\command).'(default)'

結果應該是wsl.exe --cd "%V",我猜也是。如果沒有,您可以透過登錄編輯來修復該問題。

但我們也可以從 PowerShell 嘗試一下該指令:

wsl.exe --cd "D:\some directory"(顯然,某些目錄被替換為磁碟機上存在的目錄)。

我還猜測這會給您帶來與右鍵相同的結果 - 它最終會出現在 D:\ 而不是所需的目錄中。但如果它工作,那麼我們需要進一步調查為什麼右鍵單擊“打開方式”命令存在差異。

現在,讓我們看看是否能做到工作來自 CLI。嘗試:

wsl.exe --cd "D:\some directory" -e bash --noprofile --norc

我希望這對你有用。這將表示問題出在您的.profile.bashrc(或另一個啟動腳本)。

如果是這樣,請查看您是否可以追蹤您所做的任何可能影響cd.該更改也可能是由某些安裝人員進行的。或者甚至可能某些發行版的股票啟動腳本有問題。你沒有提到你正在使用哪個發行版,但我在 Ubuntu 20.04 上一切正常。

相關內容