如果我右鍵單擊按住 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 上一切正常。