[macos] Mac OS X에서 zsh를 로그인 쉘로 실행하는 방법 (iTerm)?

zsh가 Mac OS X에서 로그인 쉘로 설정되면 iTerm에서 시작될 때 zsh는 ‘-zsh’로 시작되었지만 로그인 쉘로 실행되고 있다고 간주하지 않습니다 ( ‘-‘는 arg [0])의 첫 문자는 로그인 쉘로 시작해야 함을 의미합니다.

따라서 로그인 셸을 bash로 설정하면 bash는 $ 0에서 첫 번째 ‘-‘를 인식하고 로그인 셸로 실행하지만 zsh는 그렇지 않습니다.

zsh가 arg [0]에서 ‘-‘를 인식하도록하거나 iLog를 –login 명령 행 인수로 쉘을 실행하게하는 방법이 있습니까?



답변

iTerm-> 환경 설정-> 프로파일 탭-> 일반 섹션에서 명령을 다음으로 설정하십시오. / bin / zsh –login

/ bin / zsh-로그인


답변

chsh -s $(which zsh)

암호를 묻는 메시지가 표시되지만 설정을 업데이트하면 해당 컴퓨터에서 시작하는 새로운 iTerm / 터미널 세션이 기본적으로 zsh로 설정됩니다.


답변

시스템 환경 설정사용자 및 그룹 창으로 이동 -> 사용자 선택-> 잠금을 클릭하여 변경 (왼쪽 하단)-> 현재 사용자를 마우스 오른쪽 버튼으로 클릭 고급 옵션 …- > 로그인 쉘 선택 : / bin / zsh 및 확인


답변

시작할 때 쉘을 변경하는 명령은 chsh -s <path_to_shell>입니다. mac OS X의 기본 셸은 bin디렉토리 안에 설치 되므로 기본값으로 변경하려면 zsh다음을 사용하십시오.

chsh -s /bin/zsh

다른 버전을 사용 하는 경우 비표준 쉘 메시지를 피하기 위해 zsh해당 버전을 추가해야 할 수도 있습니다 /etc/shells. 당신의 가정 양조의 버전하려는 경우 예를 들어, zsh당신은 추가해야 다음을 /usr/local/bin/zsh상기 파일에있는 하나의 명령으로 할 수있는 sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"다음 실행

chsh -s /usr/local/bin/zsh

또는 하나의 명령으로 모든 작업을 수행하려면 zsh가 이미 설치되어 있으면 이것을 복사하여 붙여 넣으십시오.

sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells" && chsh -s /usr/local/bin/zsh


답변

당신이 쉘 항목 편집 해봤 계정 설정을 .

계정 환경 설정으로 이동하여 고급 설정 대화 상자 의 사용자 계정을 잠금 해제하고 마우스 오른쪽 버튼으로 클릭하십시오 . 쉘은 / bin / zsh 여야하며 호출을 적절하게 편집 할 수 있습니다 (예 : –login 인수 추가).


답변

login유틸리티를 사용하여 로그인 쉘을 작성 하십시오 . 로그인하려는 사용자의 사용자 이름이 Alice 이고 zsh가 설치되어 있다고 가정합니다 /opt/local/bin/zsh(예 : MacPorts를 통해 설치된 최신 버전). iTerm 2에서 환경 설정, 프로파일로 이동하여 설정하려는 프로파일을 선택하고 명령에 입력하십시오 .

login -pfq Alice /opt/local/bin/zsh

man login옵션에 대한 자세한 내용을 참조하십시오 .


답변