terminales temas para mejores mac instalar macos bash shell zsh

macos - temas - ¿Cómo hacer que zsh se ejecute como un shell de inicio de sesión en Mac OS X(en iTerm)?



plugins terminal mac (7)

¿Has intentado editar la entrada del shell en la configuración de la cuenta ?

Vaya a Preferencias de cuentas, desbloquee y haga clic derecho en su cuenta de usuario para el cuadro de diálogo Configuración avanzada . Su shell debe ser / bin / zsh, y puede editar esa invocación de manera apropiada (es decir, agregar el argumento --login).

Cuando zsh se establece como un shell de inicio de sesión en Mac OS X, cuando iTerm lo inicia, zsh no considera que se esté ejecutando como un shell de inicio de sesión, aunque se inicia como ''-zsh'' (''-'' se pone como primer carácter de arg [0]) que se supone que significa que debe comenzar como un shell de inicio de sesión.

Entonces, cuando configuro el shell de inicio de sesión para bash, bash reconoce este primero ''-'' en $ 0 y se ejecuta como un shell de inicio de sesión, pero zsh no lo hace, aunque parece que debería hacerlo.

¿Hay alguna manera de hacer que zsh reconozca el ''-'' en arg [0], o hacer que iTerm ejecute el shell con un argumento de línea de comando --login?


El comando para cambiar el shell al inicio es chsh -s <path_to_shell> . Los shells predeterminados en mac OS X están instalados dentro del directorio bin así que si quieres cambiar al zsh predeterminado, entonces zsh lo siguiente

chsh -s /bin/zsh

Si está usando una versión diferente de zsh , puede que tenga que agregar esa versión a /etc/shells para evitar el mensaje de shell no estándar. Por ejemplo, si quieres la versión de zsh de zsh entonces debes agregar /usr/local/bin/zsh al archivo antes mencionado, que puedes hacer en un comando sudo sh -c "echo ''/usr/local/bin/zsh'' >> /etc/shells" y luego ejecuta

chsh -s /usr/local/bin/zsh

O si desea hacer todo en un solo comando, simplemente copie y pegue esto si ya tiene zsh instalado

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


En iTerm -> Preferencias -> Pestaña Perfiles -> Sección general, configure el comando para: / bin / zsh --login


La solución que funcionó para mí se describe en esta publicación titulada: Use Homebrew zsh en lugar de OS X Default .

La solución fue ejecutar el siguiente comando en la terminal

sudo dscl . -create /Users/$USER UserShell /usr/local/bin/zsh

Luego debe escribir su contraseña y listo.


Use la utilidad de login para crear un shell de inicio de sesión. Suponga que el usuario que desea iniciar sesión tiene el nombre de usuario Alice y que zsh está instalado en /opt/local/bin/zsh (por ejemplo, una versión más reciente instalada a través de MacPorts). En iTerm 2, vaya a Preferencias, Perfiles, seleccione el perfil que desea configurar e Comando :

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

Vea el man login de man login para más detalles sobre las opciones.


Vaya al panel Usuarios y grupos de Preferencias del sistema -> Seleccionar usuario -> Haga clic en el candado para realizar cambios (esquina inferior izquierda) -> haga clic con el botón derecho en el usuario actual, seleccione Opciones avanzadas ... -> Seleccione el Shell de inicio de sesión: / bin / zsh y OK


chsh -s $(which zsh)

Se le pedirá su contraseña, pero una vez que actualice su configuración, cualquier sesión nueva de iTerm / Terminal que inicie en esa máquina tendrá como valor predeterminado zsh.