Sé que puedo configurar "Shells open with" en las preferencias de Terminal, pero tengo curiosidad por saber si hay alguna forma de configurar esto en todo el sistema (similar a actualizar / etc / passwd en algunos Unixes).
21
Use la chsh
utilidad de esta manera:
chsh -s bash
Apple ha cambiado chsh
un poco en Mac OS X en comparación con lo chsh
que verías en Linux, por ejemplo. Usted puede leer sobre ellos en el chsh Mac OS X Man página .
Tenga en cuenta que solo se le permitirá cambiar a un shell en la lista
/etc/shells
. Esto normalmente está bien, pero significa que si desea instalar Bash 4 (desde Homebrew, MacPorts o compilando el suyo), debe agregar una línea/etc/shells
. (Me encontré con esto hace unas semanas, y pensé que podría ayudar a otros a saber ...)Editar : Tim Smith señala que puede sortear la
/etc/shells
limitación si se ejecutachsh
como root a través desudo
. Por ejemplosudo chsh -s /usr/local/bin/my_shell $USER
, funcionará, incluso simy_shell
no figura en la lista/etc/shells
. Prefiero editar/etc/shells
, pero al final, es un uso desudo
cualquier manera, ya que no puedes editar/etc/shells
como usuario normal. Entonces quizás seis de uno, media docena del otro.fuente
/etc/shells
si no tienes que hacerlo? Por cordura, prefiero mantener los archivos del sistema iguales./etc/shells
es el archivo en el sistema que define shells reconocidos. Modifico ese archivo porque quiero agregar un shell a la lista de shells reconocidos. Me parece bastante razonable.chsh: bash: non-standard shell
chsh
solo si está tratando de usar un shell que no figura en la lista/etc/shells
./etc/shells
lo que me parece extraño.Para hacer esto usando la GUI de Mac OS X:
Cabe destacar que esta ubicación es donde puede cambiar su directorio de inicio, UUID, ID de usuario, ID de grupo y nombre corto si no se siente cómodo con la Terminal. Hay una pregunta similar aquí también.
fuente
Usando las respuestas anteriores recibí un mensaje de error:
Para evitar esto:
whoami
en una subshell es cambiar la shell para su usuario, no la raíz.Una cosa más si estás usando homebrew. Cuando ejecuta comandos como root (usando
sudo
), zsh apunta a / bin / zsh, que viene con OSX y puede estar desactualizado. Para usar el actualizado que se instala a través de homebrew, use lo siguiente:fuente