만자로 리눅스에서 sudo update-grub 명령어가 정상적으로 실행되지 않는 문제를 겪었는데, 그것이 sh bash zsh 등의 shell 관련 문제인지 확인하고 싶었습니다. Manjaro Linux 최신 버전을 다운로드 했더니 zsh가 기본으로 활성화되어 있는데 3년 전에 설치했던 만자로 리눅스는 zsh가 아니었거든요.

 

 

 

현재 사용중인 shell 확인 방법

▼ 리눅스에서 현재 사용 중인 shell을 확인하는 방법은 아래의 스크린샷을 참고하세요.

 

echo \$SHELL

grep 계정명 /etc/passwd

터미널 창에 둘 중 하나의 명령어를 입력해보면 됩니다. SHELL은 반드시 대문자로 입력하세요.

위 스크린샷 기준으로 저는 bash를 사용 중이고, 해당 셸은 /bin/ 경로에 있다고 합니다.

 

현재 설치되어 있는 shell의 종류 확인 방법

현재 내 PC에 설치된 shell이 어떤 것이 있는지 확인하면 zsh 같은 쉘을 설치해야 되는지 변경만 하면 되는지 쉽게 파악할 수 있겠지요?

 

▼ cat /etc/shells 라고 명령어를 입력하면 됩니다. /etc/shells 파일의 내용에 현재 설치된 shell의 종류가 기록되어 있더군요.

 

▼ chsh -l 이라고 쳐봐도 되겠군요.

 

사용 쉘 바꾸기 명령어 : chsh

눈치 빠른 분은 /etc/passwd 파일을 수정해서 계정명 옆에 기록된 shell 종류를 바꾸면 된다고 생각하실 겁니다. 가능한 방법이에요.

 

▲ 저의 경우, /bin/bash 를 /bin/zsh 로 바꾸면 되겠군요.

 

하지만 /etc/passwd 파일의 내용을 잘못 건들면 일이 커질 수 있기 때문에, chsh 명령어를 이용하여 shell 종류를 바꾸는 것이 좋다고 생각합니다.

 

▼ "sudo chsh -s /bin/zsh 계정명" 이런 식으로 입력하면 됩니다.

 

재부팅하면 적용될 겁니다.

 

▼ 사실, 만자로 리눅스는 /usr/share/konsole/Breaeh.profile 파일 안에 터미널창(konsole)이 어떤 shell을 사용할지를 정의하고 있기 때문에 굳이 chsh 명령어로 쉘을 바꿀 필요가 없긴 합니다.

반응형