기본 쉘을 ZSH로 변경하는 방법-chsh에“잘못된 쉘”


36

내 VM에 ZSH를 설치했는데 소스에서 컴파일했습니다. ZSH의 위치는 출력을 /usr/local/bin/zsh실행할 때 입니다. 나는 또한 sudo로 이것을 시도했다. 이것을 어떻게 바꿀 수 있습니까?chsh -s /usr/local/bin/zshchsh: /usr/local/bin/zsh is an invalid shell



6
@Mikel, 아니, 그 질문은 "나는 나를 위해 일하는 chsh것이 아니라" 에 대해 모른다 chsh"이다.
cjm

답변:


48

다음에 zsh를 추가하십시오 /etc/shells.

command -v zsh | sudo tee -a /etc/shells

이제 chsh를 사용하여 zsh를 쉘로 설정할 수 있습니다.

sudo chsh -s "$(command -v zsh)" "${USER}"

이 문서를 참조하십시오 : 로그인 쉘 변경



3

먼저 zsh다음으로 유효한 쉘로 나열되어 있는지 확인하십시오.

cat /etc/shells

경우 zsh가 나열되어 있지 않으면 설치합니다. 예를 들어apt

sudo apt-get install zsh

1 단계를 다시 수행하고 경로를 확인하십시오 zsh. 내 경우에는, 모두 /usr/bin/zsh와이 /usr/zsh나열됩니다. 주석에 언급 된 @ Stéphane Chazelas와 같이 셸을 처음부터 컴파일하고 설치하려면 경로를에 추가하십시오 /etc/shells.

다음을 사용하여 쉘을 변경하십시오.

chsh -s /usr/bin/zsh

에서 man 페이지 :

-s, --shell SHELL사용자의 새 로그인 쉘의 이름입니다. 이 필드를 공란으로 설정하면 시스템이 기본 로그인 쉘을 선택합니다.

로그 아웃 한 후 다시 로그인하십시오.


예, OS 패키지의 일부로 셸을 설치하면 OS 패키징은 일반적으로에 셸을 추가합니다 /etc/shells. 여기서 요점은 셸을 직접 컴파일하고 설치하는 경우 /etc/shells직접 경로를 추가해야한다는 것입니다.
Stéphane Chazelas

좋은 지적. 나는 'apt'와 같은 패키지 관리자를 생각하고있었습니다. 귀하의 요점을 포함하도록 답변을 편집했습니다.
Sat Yam

이것은 본질적으로 다른 두 답변이 이미 말한 것입니다.
Jeff Schaller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.