"Bash on Ubuntu on Windows" 애플리케이션은 항상 bash로 시작됩니다. 나는 chsh
로그인 쉘로 다른 쉘을 설정하곤 했습니다. 대신 WSL이 해당 셸을 시작하도록 하려면 어떻게 해야 하나요?
답변1
이 문제는 다음에서 수정되었습니다.현재 내부자 전용 빌드, 새로운 wsl.exe
명령을 사용하여:
인수 없이(또는 ~ 인수를 사용하여) bash.exe를 실행할 때 빌드 16188부터 bash는 로그인 셸로 시작됩니다. 새로운 wsl.exe 바이너리의 경우에도 마찬가지입니다(wsl이 사용자의 기본 셸을 로그인 셸로 시작한다는 점은 제외).
그 전에는 명령줄 매개변수(예: )를 추가하기 위해 바로가기를 편집해야 합니다 -c 'exec "$SHELL" -l'
.
답변2
요즘 새로운 답변을 추가하려는 사람을 위한 약간의 역사적 맥락입니다. 이 질문은 원래 WSL 초기의 암흑기에 다시 요청되었습니다. 그때는:
- Ubuntu/WSL은 "Bash on Ubuntu on Windows"로 알려졌습니다.
bash.exe
명령 을 통해 실행되었습니다.- 그것언제나Bash 쉘을 시작했습니다
이 bash.exe
명령은 더 이상 사용되지 않으며 wsl.exe
@muru가 언급한 명령 으로 대체되었습니다.이 답변.
이제 언급된 표준 Ubuntu 방법을 사용하여 기본/로그인 셸을 Fish(또는 일반적으로 다른 셸)로 변경할 수 있습니다.이 답변. 간단히 말해서:
- 쉘이
/etc/shells
chsh -s <path_to_shell>
- 아니면 일반적으로,
chsh -d $(which fish)
답변3
예를 들어 WSL의 Ubuntu에서 피싱을 시작하려면 목표를 다음으로 설정하십시오.
C:\Windows\system32\wsl.exe --distribution Ubuntu --exec fish