Sei que posso definir "Shells open with" nas preferências do Terminal, mas estou curioso para saber se há alguma maneira de definir isso em todo o sistema (semelhante a atualizar/etc/passwd em alguns Unixes).
Use o utilitário chsh
assim:
chsh -s bash
A Apple mudou chsh
um pouco no Mac OS X em comparação com o chsh
que você veria no Linux, por exemplo. Você pode ler sobre eles na chsh Mac OS X Man Page .
Observe que você só terá permissão para mudar para um Shell listado em /etc/shells
. Isso normalmente é bom, mas significa que se você deseja instalar o Bash 4 (do Homebrew, MacPorts ou compilar o seu próprio), você precisa adicionar uma linha a /etc/shells
. (Eu encontrei isso algumas semanas atrás e imaginei que poderia ajudar outros a saber ...)
Editar : Tim Smith aponta que você pode contornar /etc/shells
limitação se você executar chsh
como root por meio de Sudo
. Por exemplo. Sudo chsh -s /usr/local/bin/my_Shell $USER
funcionará, mesmo se my_Shell
não está listado em /etc/shells
. Eu prefiro editar /etc/shells
, mas no final, é um uso de Sudo
de qualquer maneira, já que você não pode editar /etc/shells
como um usuário regular. Então, talvez seis de um, meia dúzia do outro.
Para fazer isso usando a GUI do Mac OS X:
Observe que este local é onde você pode alterar seu diretório inicial, UUID, ID de usuário, ID de grupo e nome abreviado, caso não se sinta confortável com o Terminal. Há uma pergunta semelhante localizada aqui também.
Usando as respostas acima, recebi uma mensagem de erro:
$ chsh -s zsh
Changing Shell for myuser.
Password for myuser:
chsh: zsh: non-standard Shell
Para contornar isso:
Sudo chsh -s zsh $(whoami)
whoami
em um subshell é mudar o Shell para o seu usuário, não o root.
Mais uma coisa se você estiver usando homebrew. Quando você executa comandos como root (usando Sudo
), zsh aponta para/bin/zsh, que vem com o OSX e pode estar desatualizado. Para usar o atualizado que é instalado via homebrew, use o seguinte:
Sudo chsh -s $(which zsh) $(whoami)