it-source

Mac OS X(iTerm)에서 zsh를 로그인 셸로 실행하는 방법

criticalcode 2023. 4. 16. 15:14
반응형

Mac OS X(iTerm)에서 zsh를 로그인 셸로 실행하는 방법

Mac OS X에서 zsh를 로그인 셸로 설정하면 iTerm에서 시작할 때 zsh는 로그인 셸로 실행 중인 것으로 간주하지 않습니다. 단, '-zsh'는 로그인 셸로 시작해야 한다는 것을 의미합니다.

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

zsh가 arg[0]의 '-'를 인식하도록 하거나 --login 명령줄 인수를 사용하여 iTerm이 셸을 실행하도록 하는 방법이 있습니까?

chsh -s $(which zsh)

패스워드를 입력하도록 요구됩니다만, 설정을 갱신하면, 그 머신으로 개시하는 새로운 iTerm/Terminal 세션은 디폴트로 zsh 가 됩니다.

iTerm -> [ Preferences ]-> [ Profiles ]탭 -> [ General ]섹션에서 명령어를 /bin/zsh --login 으로 설정합니다.

/bin/zsh --개요

[ System Preferences ](시스템 설정)의 [Users & Groups](사용자 & 그룹) 페인으로 이동합니다.-> 잠금을 클릭하여 변경을 가합니다(왼쪽 아래 모서리).-> 현재 사용자의 [Advanced options](상세 옵션)을 오른쪽 클릭합니다.-> 로그인: /bin/zsh 및 OK를 선택합니다.

부팅 시 셸을 변경하는 명령어는 다음과 같습니다.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(예를 들어 MacPort를 통해 설치된 최신 버전).iTerm 2에서 Preferences, Profiles로 이동하여 설정할 프로파일을 선택하고 Command에 다음과 같이 입력합니다.

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

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

언급URL : https://stackoverflow.com/questions/1276703/how-to-make-zsh-run-as-a-login-shell-on-mac-os-x-in-iterm

반응형