Mac OS X - Não foi possível iniciar o Terminal.app - o shell tem valor ilegal

16

Não consigo executar o Terminal.app depois de recuperar o sistema da máquina do tempo.

Versão do Mac OS X 10.6.2

Exibe o seguinte erro. "Você não está autorizado a executar este aplicativo"  "O administrador configurou seu shell para um valor ilegal"

Depois disso, eu apaguei o arquivo ~ / Library / Preferences / com.apple.Terminal.plist

Mas a mesma mensagem é exibida.

Eu consertei todos os direitos do sistema com o DiskUtility, mas isso não ajudou.

    
por chemm 13.11.2009 / 13:40

10 respostas

10

A reinicialização é a resposta no OS X Lion. Se você perder a capacidade de gravar em unidades USB ou de rede, a solução será a mesma.

Estou esperando por algumas atualizações rápidas para me livrar de alguns desses problemas irritantes.

    
por 31.08.2011 / 10:33
10

Esse valor é definido como /bin/bash . Nada a mudar aqui. Eu controlei essas preferências. Eu recebo esse erro para cada shell.

Finalmente, encontrei a solução. No Finder eu vou abrir a pasta /etc . Lá encontrei o arquivo /private/etc/shells , que estava vazio. Eu substituí o arquivo /private/etc/shells pelo arquivo de backup /private/etc/shells~orig .

Agora, o / private / etc / shells contém o seguinte:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

(Há mais etapas necessárias no Finder, excluir arquivo de shells vazias, alterar permissões no diálogo de informações.)

Agora posso iniciar o Terminal.app com o /bin/bash novamente.

    
por 13.11.2009 / 14:21
5

Eu tive o mesmo problema após uma restauração do Time Machine, neste caso, usando o backup de um MacBook Pro para restaurar em um MacBook.

Consegui resolver o problema usando o Finder (insira sua senha sempre que solicitado):

  • Use Ir > Vá para Pasta para ir para "/ private"
  • Selecione "etc"
  • Comando-I para abrir o pop-up de informações (não fechá-lo novamente até o final deste procedimento)
  • Clique no símbolo de bloqueio no canto inferior direito para desbloquear as permissões
  • Anote a configuração de permissão para "Todos"
  • Clique na configuração de permissão para "Todos" e selecione "Ler & Escrever"
  • Use Ir > Vá para Pasta para ir para "/ private / etc"
  • Eu descobri que "shells" estavam vazios, mas havia um "shells ~ orig" com uma boa lista de shells nele
  • Excluir "shells"
  • Selecione "shells ~ orig"
  • Command-C, Command-V para copiá-lo e colá-lo; isso cria "shells ~ orig copy"
  • Selecione "shells ~ cópia original"
  • Clique novamente para entrar no modo renomear e alterar o nome de "shells ~ orig copy" para "shells"
  • Volte para o pop-up Informações e altere a configuração de permissão para "Todos" de volta para o valor original
  • Feche o pop-up de informações

Agora que eu tinha um arquivo "shells" com uma lista válida de shells, consegui abrir o Terminal novamente.

    
por 23.06.2010 / 14:52
4

Clique com o botão direito do mouse no nome da sua conta no painel Contas das Preferências do Sistema e escolha Opções Avançadas. Altere o valor para "Login shell" - eu uso / bin / bash, mas você está livre para usar qualquer shell instalado.

    
por 13.11.2009 / 13:47
4

Eu tive o mesmo problema; um reboot fez o truque para mim. Não acostumado a ter que fazer isso em um Mac :-P

    
por 31.08.2011 / 06:40
3

Eu tive exatamente o mesmo problema também. Solução simples:

Basta executar a permissão de reparação de disco com o Utilitário de Disco: -).

    
por 07.03.2012 / 06:08
3

Mudar a senha da minha conta de usuário através das Preferências do Sistema consertou isso para mim (eu mudei para o mesmo valor, que presumivelmente acabou forçando o SO a escrever algumas informações de conta de usuário em arquivos). Eu uso o Mac OS X 10.7.3 e nenhum arquivo em / etc parece ter sido alterado.

    
por 11.04.2012 / 18:54
2

Combinando respostas de Tim e chemm foi útil no meu caso.

Eu usei a abordagem do Tim para abrir um terminal usando um shell diferente. Eu então editei / etc / shells para incluir o shell preferido e então usei a abordagem de Tim novamente para restaurar o caminho original do shell nas "Opções Avançadas".

    
por 08.06.2010 / 14:46
2

Eu tive o mesmo problema. O Time Machine por algum motivo transformou /private/etc/shells em um arquivo de tamanho zero durante minha restauração. A resposta da chemm é muito boa, mas falta alguns passos para os noobies do Mac como eu.

  • Para obter até /private/etc , você precisa usar a opção Go -> Go to Folder do item do menu Finder e digitar /private/etc
  • Em seguida, localize o arquivo de shells.
  • Não permitiria que eu editasse o arquivo, então o excluí.
  • Então usei a máquina do tempo para restaurar esse arquivo.
  • Se você digitar a máquina do tempo enquanto estiver no Finder, ela será iniciada na pasta /private/etc .
  • Quando o restaurei, não consegui descobrir como direcionar o Time Machine para essa pasta (não vi a opção de ir para a pasta), então restaurei "shells" na minha área de trabalho e usei o Finder para copiar / colar o arquivo para /private/etc

Você precisará fornecer sua senha algumas vezes para alcançar o que foi mencionado acima, e eu suponho que você precisará estar em uma conta de administrador.

    
por 07.04.2010 / 06:22
0

Para mim, nenhuma das respostas padrão foi a questão - tudo era como-shoud-ser.

Sair da minha sessão Aquamacs (emacs) resolveu o problema! Quando reiniciei o Aquamacs, o Terminal continuou a funcionar bem.

Eu NÃO usei o comando shell emacs, mas de alguma forma esses aplicativos ainda interagiam de uma forma infeliz.

    
por 15.12.2013 / 18:31