Como eu configuro meu shell no Mac OS X?

15

Eu sei que posso definir "Shells open with" nas preferências do Terminal, mas estou curioso para saber se há alguma maneira de configurar o sistema (semelhante à atualização do / etc / passwd em alguns Unixes).

    
por nall 29.09.2009 / 02:06

4 respostas

20

Use o utilitário chsh da seguinte forma:

chsh -s bash

A Apple alterou chsh no Mac OS X em comparação com o chsh que você vê no Linux, por exemplo. Você pode ler as informações deles no chsh Página Mac OS X .

    
por 29.09.2009 / 02:09
15

Observe que você só poderá alterar para um shell listado em /etc/shells . Isso normalmente é bom, mas significa que se você quiser instalar o Bash 4 (do Homebrew, MacPorts ou compilar seu próprio), você precisa adicionar uma linha ao /etc/shells . (Eu encontrei isso há algumas semanas e achei que poderia ajudar outras pessoas a saber ...)

Editar : Tim Smith aponta que você pode contornar o /etc/shells de limitação se você executar chsh como root via sudo . Por exemplo. sudo chsh -s /usr/local/bin/my_shell $USER funcionará, mesmo se my_shell não estiver listado em /etc/shells . Prefiro editar /etc/shells , mas, no final, é um uso de sudo de qualquer forma, pois você não pode editar /etc/shells como um usuário comum. Então, talvez seis de uma, meia dúzia do outro.

    
por 29.09.2009 / 02:17
10

Para fazer isso usando a GUI do Mac OS X:

  1. Abra as "Preferências do sistema".
  2. Abra as "Contas" / "Usuários & Grupos ”e desbloqueie o painel de preferências, se aplicável.
  3. No usuário que você deseja alterar o shell, control + clique ou clique com o botão direito do mouse no usuário e escolha “Opções avançadas…”
  4. Onde diz "Login Shell:" mude para o shell que você deseja usar.

Observe que esse local é onde você pode alterar seu diretório pessoal, UUID, ID do usuário, ID do grupo e nome abreviado, se não se sentir à vontade com o Terminal. Existe uma pergunta semelhante localizada aqui como bem.

    
por 29.09.2009 / 02:41
4

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 é alterar o shell do usuário, não a raiz.

Mais uma coisa, se você estiver usando o homebrew. Quando você executa comandos como root (usando sudo ), o 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)
    
por 06.08.2016 / 22:35