Computer >> 컴퓨터 >  >> 문제 해결 >> Mac

Mac에서 '기본 대화형 쉘은 이제 zsh입니다' 메시지 제거하는 방법

Mac 터미널을 열 때마다 "기본 대화형 쉘은 이제 zsh입니다. zsh를 사용하도록 계정을 업데이트하려면 'chsh -s /bin/zsh'를 실행하세요. 자세한 내용은 https://support.apple.com/kb/HT208050을 참조하세요."라는 메시지가 표시되나요?

애플은 macOS 카탈리나부터 기본 대화형 쉘을 bash에서 zsh로 변경했으며, 이후 macOS 빅서, 몬터레이 등에서도 기본 쉘은 zsh로 설정되어 있습니다. 따라서 맥의 기본 쉘이 여전히 구버전 bash이거나, 터미널이 bash 또는 다른 쉘로 열리도록 설정한 경우 이 경고 메시지가 나타납니다.

터미널과 대화형 쉘에 익숙하지 않다면 혼란스러울 수 있습니다. 하지만 걱정하지 마세요. 이 글에서는 해당 메시지의 의미와 제거 방법, 그리고 원한다면 맥의 기본 대화형 쉘을 변경하는 방법까지 자세히 안내해 드립니다.

'기본 대화형 쉘은 이제 zsh입니다' 메시지 완벽 가이드:

  • 1. '기본 대화형 쉘은 이제 zsh입니다' 메시지의 의미
  • 2. 메시지 제거하는 3가지 방법
  • 3. Mac용 bash vs. zsh 비교
  • 4. 자주 묻는 질문(FAQ)

'기본 대화형 쉘은 이제 zsh입니다' 메시지의 의미

맥의 터미널에서 입력하는 명령어를 해석하고 실행하는 대화형 쉘에는 여러 종류가 있으며, 그중에서도 zsh(Z shell)와 bash(Bourne again shell)가 가장 널리 사용됩니다.

macOS 모하비 및 이전 버전에서는 bash가 기본 대화형 쉘이었습니다. 하지만 애플은 오랫동안 2006년에 출시된 bash 3.2 버전에 머물러 있었는데, 이는 새로운 bash 버전이 GPLv3 라이선스를 따르기 때문입니다. GPLv3는 자체 코드에 서명하는 애플 같은 기업에는 제약이 되는 라이선스입니다. 아마도 이것이 애플이 macOS 기본 쉘을 변경하기로 한 주요 이유 중 하나일 것입니다.

macOS 카탈리나부터는 bash와 가장 호환성이 높고 기능적으로도 유사한 zsh가 맥의 기본 쉘로 대체되었습니다. 또한 애플은 아직 zsh로 전환하지 않은 사용자에게 변경 사항을 알리고 업데이트를 유도하기 위해 터미널에 경고 메시지를 내장했습니다.

macOS 카탈리나 이전에 생성된 사용자 계정(기본 쉘이 여전히 bash)을 사용 중이거나, 맥이 zsh를 사용하도록 설정되어 있는데 bash 쉘을 호출하는 경우 터미널에 위와 같은 메시지가 표시됩니다.

'기본 대화형 쉘은 이제 zsh입니다' 메시지 제거 방법

터미널을 자주 사용하지 않는다면 이 메시지를 무시해도 됩니다. 하지만 매번 보기 불편하다면 아래 세 가지 방법으로 몬터레이/빅서/카탈리나에서 해당 메시지를 제거할 수 있습니다.

  • 방법 1: 기본 쉘을 zsh로 변경
  • 방법 2: 메시지를 숨기고 bash 계속 사용
  • 방법 3: Homebrew에서 제공하는 bash로 전환

방법 1: 기본 쉘을 zsh로 변경

위에서 언급한 상황 외에도 VSCode의 폴더에서 Python이나 특정 파일을 실행할 때 이 메시지가 나타날 수 있습니다. 많은 사용자처럼 zsh로 전환할 준비가 되었다면, 경고 메시지에서 제안하는 명령어를 활용해 맥의 기본 대화형 쉘을 손쉽게 변경할 수 있습니다.

터미널로 zsh로 전환하는 단계:

  1. 터미널을 엽니다.
  2. 다음 명령어를 입력하고 Enter를 누릅니다.
    chsh -s /bin/zsh
  3. 비밀번호를 입력하고 다시 Enter를 누릅니다.
  4. 변경 사항이 적용되도록 맥을 재시작합니다.

또는 시스템 환경설정의 '사용자 및 그룹'에서도 bash를 zsh로 변경할 수 있습니다.

시스템 환경설정에서 쉘을 변경하는 방법:

  1. Apple 메뉴 > 시스템 환경설정 > 사용자 및 그룹을 클릭합니다.
  2. 왼쪽 하단의 자물쇠 아이콘을 클릭하고 비밀번호를 입력한 후 잠금 해제를 클릭합니다.
  3. 본인 계정을 우클릭하고 "고급 옵션"을 선택합니다.
  4. "로그인 쉘" 옆 드롭다운 메뉴에서 /bin/zsh를 선택합니다.
  5. 확인을 클릭합니다.
  6. 맥을 재부팅합니다.

이렇게 기본 대화형 쉘을 zsh로 변경하면 더 이상 해당 메시지가 표시되지 않습니다.

방법 2: 메시지를 숨기고 bash 계속 사용

zsh의 장점(더 폭넓은 커스터마이징, 스마트한 자동 완성 등)을 알면서도 익숙한 bash를 선호한다면, ~/.bash_profile, ~/.profile 또는 ~/.bashrc 파일에 한 줄의 코드(export BASH_SILENCE_DEPRECATION_WARNING=1)를 추가하여 경고 메시지를 숨길 수 있습니다.

~/.bash_profile에 코드를 추가하는 방법:

  1. 터미널을 엽니다.
  2. 아래 명령어를 입력하고 Enter를 눌러 ~/.bash_profile에 코드를 추가합니다.
    touch ~/.bash_profile && echo "export BASH_SILENCE_DEPRECATION_WARNING=1" >> ~/.bash_profile

~/.bash_profile 수정으로 해결되지 않는다면, 명령어에서 ~/.bash_profile 부분을 ~/.profile 또는 ~/.bashrc로 바꿔 다시 실행해 보세요. 참고로 이미 zsh를 사용 중인 일부 사용자도 새 콘솔 창을 열 때 경고가 표시되는 경우가 있는데, 이럴 때는 root 권한으로 /etc/profile에 코드를 추가하는 것이 더 확실합니다.

root 권한으로 /etc/profile을 수정하여 메시지 제거하기:

  1. 터미널을 엽니다.
  2. 다음 명령어를 입력하고 Enter를 눌러 root로 /etc/profile을 편집합니다.
    sudo nano /etc/profile
  3. 비밀번호를 입력하고 Enter를 누릅니다.
  4. 아래 화살표 키를 눌러 "# System-wide .profile for sh(1)" 바로 아래 줄로 커서를 이동합니다.
  5. 다음 텍스트를 복사하여 해당 줄에 붙여넣습니다.
    export BASH_SILENCE_DEPRECATION_WARNING=1
  6. Control + X를 누른 후 "y"를 입력하여 변경 사항을 저장합니다.
  7. Enter를 눌러 nano 에디터를 종료합니다.
  8. 터미널을 닫습니다.
  9. 맥을 재시작합니다.

방법 3: Homebrew에서 제공하는 bash로 전환

최신 버전의 bash를 사용하면서 경고 메시지까지 없애고 싶다면, Homebrew에서 제공하는 bash로 전환하는 방법이 좋습니다. Homebrew의 bash에는 애플의 bash에 포함된 경고 코드가 없기 때문입니다. 맥에 Homebrew를 설치한 후 Homebrew의 bash를 사용하면, 최신 bash(현재 5.1.16 버전)로 업데이트할 수 있습니다.

bash를 업데이트하여 메시지 제거하는 방법:

  1. 터미널을 엽니다.
  2. 다음 명령어를 입력하고 Enter를 눌러 Xcode를 설치합니다.
    xcode-select --install
  3. 설치 확인 창에서 '설치'를 클릭합니다.
  4. 설치가 완료될 때까지 기다립니다.
  5. 아래 명령어를 입력하고 Enter를 눌러 Homebrew를 설치합니다.
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  6. Homebrew 설치 및 업데이트에는 다소 시간이 걸릴 수 있습니다.
  7. /opt/homebrew/bin이 PATH에 없다는 경고가 표시되면, Homebrew가 제안하는 명령어를 복사해 붙여넣고 Enter를 눌러 PATH에 추가합니다.
  8. 아래 명령어를 실행하여 bash를 업데이트합니다.
    brew update && brew install bash && sudo chsh -s /usr/local/bin/bash $(whoami)

Mac용 bash vs. zsh 비교

bash와 마찬가지로 zsh 역시 "Bourne" 계열의 쉘이므로 기본 상태에서는 서로 비슷하게 보입니다. 하지만 zsh는 bash보다 커스터마이징과 확장성이 뛰어나며, 새로운 기능을 손쉽게 추가할 수 있고 활용할 수 있는 플러그인 종류도 훨씬 많습니다.

zsh는 사용자 상호작용 개선을 목적으로 설계되었습니다. 따라서 자동 완성, 구문 강조, 자동 수정, 부동 소수점 연산 등 bash에는 없거나 bash에서는 효율이 떨어지는 다양한 기능을 갖추고 있습니다. 반면 bash는 대부분의 리눅스 머신과 서버의 기본 쉘이라는 강력한 장점이 있어, 개발자들 사이에서 여전히 폭넓게 사용되고 있습니다.

가끔 터미널을 사용하는 일반 맥 사용자라면 메시지를 무시하거나 애플의 안내대로 zsh로 전환하는 것을 추천합니다. bash가 공통 쉘로 사용되는 여러 플랫폼에서 작업하는 개발자라면 Homebrew로 최신 bash를 설치하는 것이 좋습니다. 그 중간이라면 경고만 숨기고 익숙한 bash를 계속 사용하는 것도 현명한 선택입니다.

자주 묻는 질문(FAQ)

Q. 맥의 기본 대화형 쉘은 무엇인가요?

A. 애플은 macOS 카탈리나부터 기본 쉘을 bash에서 zsh로 변경했습니다.

Q. macOS가 zsh로 전환한 이유는 무엇인가요?

A. 맥에 탑재된 bash가 수년간 3.2 버전에 머물러 있는 동안 최신 bash 버전은 5.1까지 발표되었지만, 새 버전이 기업에 불리한 GPLv3 라이선스를 따르기 때문에 애플은 업데이트할 계획이 없었습니다. zsh는 bash와 유사한 기능을 제공하면서도 더 인터랙티브하고 커스터마이징이 자유로워, 애플은 기본 쉘을 zsh로 변경하기로 결정했습니다.

Q. 맥에서 기본 대화형 쉘을 어떻게 변경하나요?

A. 터미널 또는 시스템 환경설정의 '사용자 및 그룹' 패널을 통해 변경할 수 있습니다. 예를 들어 zsh를 bash로 변경하려면 터미널에서 chsh -s /bin/bash를 실행하면 됩니다. 또는 시스템 환경설정 > 사용자 및 그룹 > 계정 이름 우클릭 > 고급 옵션 > 로그인 쉘에서 bin/bash를 선택하는 방법도 있습니다.

Q. zsh를 기본 쉘로 설정하는 가장 빠른 방법은?

A. 터미널에서 chsh -s /bin/zsh 명령어를 실행하는 것이 가장 빠르고 간단한 방법입니다.