답변:
그냥 사용 chsh
:
chsh -s $(which zsh)
없이 sudo
작동합니다. 사용 sudo
하면 작업중 인 사용자가 아니라 루트 의 쉘이 변경됩니다.
마지막으로 컴퓨터 에서 로그 아웃하고 다시 로그인하십시오 .
문제 해결:
dpkg -l zsh
grep $USER /etc/passwd
grep zsh /etc/shells
수퍼 유저 포럼 에서 이걸 찾았습니다
/ 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
변경 사항을 적용하려면 로그 아웃했다가 다시 로그인하십시오.
/etc/passwd
chsh -s `which zsh`
당신은 또한 이것을 할 수 있습니다 :
선호하는 편집기에서 bashrc 파일을여십시오
sudo nano ~/.bashrc
그런 다음 파일 상단 아래에 줄을 추가하십시오.
exec zsh
터미널을로드하고 zsh 쉘을 실행할 때마다 명령을 실행합니다.
scp
예 :).
/etc/passwd
되거나 chsh
더 나은 솔루션이며 더 안정적입니다.
zsh가 / bin / zsh가 아닌 경우 chsh가 작동하지 않습니다. 우분투에서는 / usr / bin / zsh입니다. 그렇게 chsh -s /usr/bin/zsh
하거나 chsh -s `which zsh`
작동해야합니다. 또한 데스크톱 세션에 다시 로그인해야합니다.
/bin/zsh
와/usr/bin/zsh
이상하게도 "허용 된"답변이 효과가 없었습니다.
chsh: PAM: Authentication failure
이 문제를 해결하려면 / etc / passwd를 편집하여 zsh 위치를 가리키는 지 확인하십시오. ( "which zsh"를 실행하여 찾을 수 있습니다.) 제 경우에는 "webmaster"라는 내 사용자는 다음과 같습니다.
webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
터미널에 입력
sudo chsh -s $(which zsh) root