WSL '여기에서 Linux 셸 열기'가 현재 디렉터리에서 열리지 않습니다.

WSL '여기에서 Linux 셸 열기'가 현재 디렉터리에서 열리지 않습니다.

Shift 키를 누른 채 폴더를 마우스 오른쪽 버튼으로 클릭하면 여기에 열린 Linux 셸이 표시됩니다.
그러나 내가 D:드라이브에 있다면 내가 어느 폴더에 있든 상관없이 항상 /mnt/d.

그 이유는 무엇입니까?

답변1

시작 스크립트의 무언가가 방해할 가능성이 있지만 문제 해결 과정을 살펴보겠습니다.

먼저 "여기에서 Linux 쉘 열기"를 선택하면 Windows에서 사용하는 명령을 확인해 보겠습니다. 파워셸에서:

(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에서는 제대로 작동합니다.

관련 정보