Если я нажму правой кнопкой мыши на папку, удерживая shift, то здесь будет показана открытая оболочка Linux.
Но если я нахожусь, скажем, D:
на диске, независимо от того, в какой папке я нахожусь, то всегда будет открываться оболочка Linux, начиная с /mnt/d
.
В чем может быть причина?
решение1
Вероятно, что-то в скрипте запуска мешает, но давайте рассмотрим устранение неполадок.
Сначала давайте проверим команду, которую Windows использует, когда вы выбираете «Открыть оболочку Linux здесь». В 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.