Windows 용 Linux susbsystem의 기본 쉘을 변경하는 방법


10

Windows 10 용 Linux 하위 시스템을 설치했습니다. 제대로 작동하지만 하위 시스템의 기본 셸 환경을 변경하고 싶습니다.

나는 한 sudo apt-get install fish다음 chsh -s /usr/bin/fish. 그러나 bash.exeWindows에서 시작할 때 항상 bash가 시작됩니다 (예상 가능하다고 생각합니다).

누구 든지이 행동을 바꾸는 논쟁을 알고 있습니까?


당신이 시작하면 bash.exe당신은 분명있다 명시 적으로 떠들썩한 파티를 시작. Windows 10의 Linux 하위 시스템에 익숙하지 않지만 특정 쉘을 명시 적으로 시작하지 않고 "Linux"쉘을 시작할 수있는 방법이있을 것으로 기대합니다.
CVn

대화 형 bash 호출을 물고기에게 다시 라우팅하기 위해 bashrc 또는 bashprofile의 추한 버전을 시도 했습니까? isatty && exec fish실제 솔루션을 완전히 사용할 수 없을 때 와 같은 줄을 추가 하면 시도해 볼 가치가 있습니다.
A. Loiseau

답변:


6

Linux 서브 시스템은 시스템 디렉토리에있는 bash.exe를 통해 시작되므로 기본 쉘 자체를 변경할 수 없습니다.

그러나 bash에 이미 존재하는 것과 같은 새로운 바로 가기를 만들고 명령을 실행할 수 있습니다

%systemroot%\system32\bash -c /usr/bin/fish

이런 식으로 당신은 즉시 물고기를 실행합니다.


1
내가 사용하는 %systemroot%\system32\bash.exe ~ -c /bin/zsh내 홈 디렉토리에 zsh을 오픈 할 수 있습니다.
David Pärsson

또는 %userprofile%홈 디렉토리에서 쉘을 시작하도록 바로 가기의 "시작"필드를 설정하십시오 .
dOxxx

@konqui 이것은 다른 쉘을 깨뜨리지 않습니다. 시작을위한 새로운 지름길입니다. 배시는 잘 작동합니다
사미 Kuhmonen에게

@SamiKuhmonen은 새로운 지름길에 대해 아무 말도하지 않았습니다-이제이 답변으로 삶을 살 수 있다고 수정했습니다.
konqui

9

Fall Creators Update 이후 chsh기본 셸을 설정 하는 데 사용할 수 있습니다 . bash.exe명령을 사용하여 WSL을 실행하는 경우 여전히 작동하지 않지만 명령으로 WSL을 실행하는 경우 작동합니다 ubuntu.exe.

또한 Fall Creators Update 이후 Windows 스토어 에서 WSL OS를 설치해야합니다 .

zsh기본 쉘로 설정하십시오 .

chsh -s /bin/zsh

그런 다음 ubuntu.exe명령 프롬프트에서 실행 (또는 다시 시작)하십시오 .


5

bash를 열고 nano ~/.bashrc이것을 실행 하여 붙여 넣으십시오.

if [[ -t 1 && -x /usr/bin/zsh ]]; then
    exec /usr/bin/zsh
fi

쉘을 fish원하는대로 바꾸십시오 . -x혹시 배쉬를 다시 설치할 경우 검사가 중요하다 - 당신은 때문에 새로 설치 후를 열 수 없습니다 exec명령이 실패하고 다음 배쉬 그냥 닫습니다.

그런 경우 .bashrc여기에서 파일을 삭제 / 이름 바꾸기 하십시오.

C:\Users\<USERNAME>\AppData\Local\lxss\home\<USERNAME>\.bashrc

-t나는 생각 표준 출력이 열려 있는지 확인합니다. 왜 중요한지 잘 모르겠습니다 . 이 기사 에서 복사했습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.