Mac Terminal: mudou meu shell, agora não pode iniciá-lo

5

Instalei o bash 4.0 via MacPorts e usei sudo chsh -s /opt/local/bin/bash my_user para alterar meu shell.

Antes disso, tentei executar apenas chsh sem sudo , mas não permitiria que eu mudasse meu shell para esse caminho.

Agora, quando tento iniciar o Terminal, recebo uma mensagem dizendo que meu shell tem um valor ilegal, portanto, o Terminal não será iniciado. Eu clico em Quit e, sem surpresas, mas irritantemente, ele sai imediatamente.

  1. Como faço para redefinir meu shell para que eu possa iniciar o Terminal novamente?
  2. Como eu configuro meu shell para o bash instalado via MacPorts de uma forma que funcione?
  3. Por que o Terminal acha que meu shell é ilegal, afinal? Está ao lado dos neo-proibicionistas?

Mac OS X 10.5.8. Tudo super mega up-to-date.

    
por kch 16.08.2009 / 00:15

4 respostas

0

Abra ~ / Library / Preferences / com.apple.Terminal.plist e defina a chave "Shell" para "/ bin / bash", e tente novamente abrir o Terminal. Se isso não funcionar, o X11.app poderá abrir um terminal. Caso contrário, você ficará preso fazendo um novo usuário com admins privs e redefinindo seu shell lá.

Certifique-se de que / opt / local / bin / bash é executável executando-o no Terminal. Se não:

chmod +x /opt/local/bin/bash

Além disso, / opt / local / bin / bash deve ser uma linha em / etc / shells.

    
por 16.08.2009 / 00:33
9

Outro método para alterar seu shell (semelhante ao comando chsh, mas usando uma GUI) para o seu perfil de usuário é fazer o seguinte:

  1. Abra Preferências do Sistema.app
  2. Ir para o Painel de preferências de contas
  3. Se necessário, desbloqueie o cadeado
  4. Mantenha o controle e clique ou clique com o botão direito na sua conta na lista de contas.
  5. Escolha opções avançadas ...
  6. Altere o valor em que diz Login shell: para o caminho para o shell bash que você deseja usar.

Eu recomendaria que você o redefiniça para / bin / bash e, em seguida, no Terminal, assegure que /opt/local/bin/bash funcione corretamente executando /opt/local/bin/bash antes de tentar alterá-lo novamente.

Quanto ao motivo pelo qual você estava dizendo que não era permitido, o Mac OS X mantém uma lista de shells "permitidos" em /etc/shells/ , então você precisará editar esse arquivo e adicionar /opt/local/bin/bash a essa lista também .

    
por 16.08.2009 / 01:35
6

O problema aqui é o arquivo /etc/shells . Este arquivo contém uma lista de todos os shells que podem ser usados como shells de login. Se você quiser usar o bash instalado pelo MacPorts, você deve editar este arquivo para incluir o caminho para aquele shell em particular.

    
por 18.08.2009 / 09:18
1

Eu recebi o mesmo problema depois da atualização para o Lion.

Você deve procurar no / etc você pode encontrar um arquivo como shells ~ orig e shells. Restaure os shells ~ orig para shells.

Boa sorte.

    
por 28.11.2011 / 01:18