
Estoy intentando cambiar mi shell predeterminado de bash a zsh en cygwin.
- El comando normal de Unix
chsh
no está disponible en cygwin - Parece que el archivo etc/passwd ya no se usa en las versiones existentes de cygwin.
Entonces, ¿de qué otra manera se puede cambiar el shell predeterminado?
Respuesta1
La respuesta depende de cómo inicias Cygwin.
Si inicia Cygwin conCygwin.bat, modifica la última línea de /Cygwin.bat
(normalmente C:\cygwin\
o C:\cygwin64\
).
Si inicia Cygwin conmenta, luego agregue el shell como parámetro: mintty /usr/bin/zsh -
Respuesta2
Si ejecuta mintty.exe
Cygwin Terminal directamente o desde el menú Inicio o el escritorio (que es un acceso directo a mintty.exe), puede configurar la variable de entorno SHELL en Windows en /usr/bin/zsh
.
En Windows 7:
- Presione la tecla de Windows.
- Empiece a escribir "medio ambiente".
- Cuando aparezca, seleccione "Editar variables de entorno para su cuenta".
El resto debería explicarse por sí solo.
Respuesta3
Copiado demi respuesta sobre Stack Overflow:
En lugar de crear un archivo passwd, que Cygwinrecomienda en contra1 , podríaseditar /etc/nsswitch.conf. Agregue o edite la siguiente línea:
db_shell: /usr/bin/pescado
La desventaja y la ventaja de este método es que, si tiene varios usuarios, este cambio los afectará a todos. El lado positivo es que es muy simple. El único inconveniente es que debes reiniciar Cygwin.
Si ustedhaceruse mkpasswd después de este cambio, usará su nuevo shell predeterminado para todos los usuarios que puedan iniciar sesión.
1 La documentación mkpasswd dice esto:
No utilice este comando para generar un archivo /etc/passwd local, a menos que realmente lo necesite. Consulte la Guía del usuario de Cygwin para obtener más información.
Realmente no puedo encontrar ningún razonamiento sólido en elguía de usuario, aparte de mencionar que tendrás que regenerar los archivos /etc/passwd y /etc/group si tus usuarios y grupos cambian, lo cual supongo que es una razón bastante decente. Puedo decir que el proceso es algo propenso a errores para los novatos.
Respuesta4
Mi servicio de alojamiento, dreamhost.com, tiene un cuadro de opción en la pantalla de edición de usuario. Puede elegir entre cuatro conchas diferentes y se parece a esto.
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?: ___