ZSH를 기본 쉘로 만드는 방법은 무엇입니까?


124

ZSH를 기본 쉘로 설정하려고하지만 bash로 계속 되돌아갑니다.

나는이 코드를 시도했다 :

sudo chsh -s $(which zsh)

나는 또한 시도했다 :

sudo chsh -s /bin/zsh 

또한 sudo없이 이러한 명령을 시도했습니다. 내가해야 할 일에 대한 아이디어. bash 내에서 ZSH를 실행하면로드되고 정상적으로 작동하지만 기본 쉘로 설정하고 싶습니다.

답변:


217

그냥 사용 chsh:

chsh -s $(which zsh)

없이 sudo 작동합니다. 사용 sudo하면 작업중 인 사용자가 아니라 루트 의 쉘이 변경됩니다.

마지막으로 컴퓨터 에서 로그 아웃하고 다시 로그인하십시오 .

문제 해결:


17
나는 같은 문제가 있고 그 해결책으로 해결되지 않습니다
Aswin Murugesh

@AswinMurugesh 내 답변 확인
Shailesh Kalamkar

9
당신은 또한 sudo는 chsh 명령 -s / 빈 / zsh을 이름을 실행할 수 있습니다
미샤 Roon에게

15
참고 : 이것이 적용되기 전에 시스템을 다시 시작해야했습니다.
KevinO

아니요, 작동하지 않았습니다.
Haha TTpro

40

수퍼 유저 포럼 에서 이걸 찾았습니다

/ etc / passwd를여십시오 :

sudo vi /etc/passwd

사용자 이름으로 줄을 찾으십시오.

username:x:1634231:100:Your Name:/home/username:/bin/bash

bash를 zsh로 바꾸십시오.

username:x:1634231:100:Your Name:/home/username:/bin/zsh

변경 사항을 적용하려면 로그 아웃했다가 다시 로그인하십시오.


11
이 접근 방식에 매우주의해야합니다. 일반적으로 다음과 같이하는 것이 가장 좋은 아이디어는 아닙니다./etc/passwd
Thomas Ward

이 방법을 사용하지 않더라도chsh -s `which zsh`
jchook

HA Yea이 총계는 내 사용자를 망쳤다. 다시 로그인 할 수 없습니다.
Mark Carpenter Jr

6

당신은 또한 이것을 할 수 있습니다 :

선호하는 편집기에서 bashrc 파일을여십시오

sudo nano ~/.bashrc

그런 다음 파일 상단 아래에 줄을 추가하십시오.

exec zsh

터미널을로드하고 zsh 쉘을 실행할 때마다 명령을 실행합니다.


13
또한 모든 비 대화식 작업이 중단됩니다 ( scp예 :).
Jakuje

downvote는 유감이지만 변경 /etc/passwd되거나 chsh더 나은 솔루션이며 더 안정적입니다.
Timo

고마워 @Timo / etc / passwd 및 또는 chsh에서 변경을 수행했지만 기본값은 계속 bash로 돌아갔습니다. 게시 된 응답에 따라 exec zsh를 추가하고 작동했습니다.
Stryker

3

zsh가 / bin / zsh가 아닌 경우 chsh가 작동하지 않습니다. 우분투에서는 / usr / bin / zsh입니다. 그렇게 chsh -s /usr/bin/zsh하거나 chsh -s `which zsh`작동해야합니다. 또한 데스크톱 세션에 다시 로그인해야합니다.


내 우분투 VPS에서는 / bin / zsh입니다
Wilhelm Erasmus

내 우분투에, 나는 그것을보고 모두 /bin/zsh/usr/bin/zsh
blue_chip

2
내 (14.04, 메인 리포지토리에서 zsh 사용)에는 두 개의 zsh가 있으며 두 개의 레이어 심볼릭 링크입니다 ./usr/bin/zsh-> / etc / alternatives / zsh-usrbin-> / bin / zsh5 및 / bin / zsh-> / etc / alternatives / zsh-> / bin / zsh5
wjandrea

1

현재 사용자에서 셸을 변경할 수있는 권한에 문제가 있었지만 다음에 도움이됩니다 (컴퓨터에 올바른 'zsh'폴더를 설정해야 함).

sudo chsh -s /bin/zsh <myUserName>

0

이상하게도 "허용 된"답변이 효과가 없었습니다.

chsh: PAM: Authentication failure

이 문제를 해결하려면 / etc / passwd를 편집하여 zsh 위치를 가리키는 지 확인하십시오. ( "which zsh"를 실행하여 찾을 수 있습니다.) 제 경우에는 "webmaster"라는 내 사용자는 다음과 같습니다.

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh

암호를 요구한다고 생각합니다. 이전 민트 설치에서 같은 오류가 발생했습니다. 현재 하나는 잘 작동
Wilhelm Erasmus

다른 사람 이 같은 문제를 겪었고 chsh -s zsh, 실행 된 것으로 나타났습니다 .
wjandrea

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