
cygwin에서 기본 쉘을 bash에서 zsh로 변경하려고 합니다.
- cygwin에서는 일반 unix 명령을
chsh
사용할 수 없습니다. - etc/passwd 파일은 기존 버전의 cygwin에서 더 이상 사용되지 않는 것 같습니다.
그렇다면 기본 쉘을 어떻게 변경할 수 있습니까?
답변1
대답은 Cygwin을 시작하는 방법에 따라 다릅니다.
Cygwin을 시작하면Cygwin.bat/Cygwin.bat
, (보통 C:\cygwin\
또는 ) 의 마지막 줄을 수정합니다 C:\cygwin64\
.
Cygwin을 시작하면민트티을 클릭한 다음 셸을 매개변수로 추가합니다. mintty /usr/bin/zsh -
답변2
직접 실행하거나 mintty.exe
시작 메뉴나 데스크탑(mintty.exe의 단축키)에서 Cygwin Terminal을 실행하면 Windows의 SHELL 환경 변수를 /usr/bin/zsh
.
윈도우 7의 경우:
- Windows 키를 누릅니다.
- "환경"을 입력하기 시작합니다.
- 표시되면 "계정의 환경 변수 편집"을 선택합니다.
나머지는 자명해야 합니다.
답변3
복사한 곳스택 오버플로에 대한 내 대답:
Cygwin에서 passwd 파일을 생성하는 대신반대를 권고하다1 , 그럴 수도 있지/etc/nsswitch.conf 편집. 다음 줄을 추가하거나 편집합니다.
db_shell: /usr/bin/fish
이 방법의 단점은 사용자가 여러 명인 경우 이 변경 사항이 모든 사용자에게 영향을 미친다는 것입니다. 위쪽 / 위쪽 측면은 매우 간단하다는 것입니다. 유일한 문제는 Cygwin을 다시 시작해야 한다는 것입니다.
만약 너라면하다이 변경 후에 mkpasswd를 사용하면 로그온이 허용된 모든 사용자에 대해 새로운 기본 셸을 사용하게 됩니다.
1 mkpasswd 문서에 따르면 다음과 같습니다.
실제로 필요한 경우가 아니면 이 명령을 사용하여 로컬 /etc/passwd 파일을 생성하지 마십시오. 자세한 내용은 Cygwin 사용자 가이드를 참조하세요.
나는 그 어떤 확실한 근거도 찾을 수 없다.사용자 가이드, 사용자와 그룹이 변경되면 /etc/passwd 및 /etc/group 파일을 다시 생성해야 한다는 언급 외에는 이것이 충분한 이유라고 생각합니다. 이 과정은 초보자에게는 다소 오류가 발생하기 쉽다고 말할 수 있습니다.
답변4
내 호스팅 서비스인 dreamhost.com에는 사용자 편집 화면에 옵션 상자가 있습니다. 네 가지 다른 껍질 중에서 선택할 수 있으며 모양은 다음과 같습니다.
User Type: (Click one of these three buttons)
* FTP user - allows login via FTP only.
* SFTP user - allows login via SFTP only.
* Shell user - allows login via both SSH and FTP.
Shell Type: ____/usr/bin/tcsh_____
Disallow FTP?: ___