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 reverter meu sistema da máquina do tempo.

Mac OS X versão 10.6.2

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

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

Mas a mesma mensagem é exibida.

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

Respostas:


10

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

Espero algumas atualizações rápidas para se livrar de alguns desses problemas irritantes.


10

Este valor está definido como /bin/bash. Nada para mudar aqui. Eu controlei essas preferências. Eu recebo esse erro para cada shell.

Finalmente encontrei a solução. No Finder, vou abrir a pasta /etc. Lá encontrei o arquivo /private/etc/shells, que estava vazio. Substituí o arquivo pelo arquivo de /private/etc/shellsbackup /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

(São necessárias mais etapas no Finder, exclua o arquivo de conchas vazias, altere as permissões na caixa de diálogo de informações.)

Agora posso iniciar o Terminal.app /bin/bashnovamente.


Descobri que minha conta nem conseguia ver as pastas / etc / bin por algum motivo, embora eu possa vê-las em uma conta de administrador local também na máquina (minha conta principal é uma conta de domínio corporativo). Pensou em usar o CHMOD da conta do administrador para alterar o acesso aos diretórios / etc / bin.
ScottCher

Considere aceitar sua (ou outra) resposta a esta pergunta.
Daniel Beck

5

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

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

  • Use Ir> Ir para a pasta para ir para "/ privado"
  • Selecione "etc"
  • Comando-I para exibir o pop-up Informações (não feche-o novamente até o final deste procedimento)
  • Clique no símbolo de cadeado no canto inferior direito para desbloquear permissões
  • Anote a configuração de permissão para "Todos"
  • Clique na configuração de permissão para "Todos" e selecione "Leitura e gravação"
  • Use Ir> Ir para a pasta para ir para "/ private / etc"
  • Descobri que "conchas" estavam vazias, mas havia uma "conchas ~ orig" com uma boa lista de conchas
  • Excluir "conchas"
  • Selecione "conchas ~ orig"
  • Command-C, Command-V para copiar e colar; isso cria "conchas ~ cópia original"
  • Selecione "conchas ~ cópia original
  • Clique novamente para entrar no modo de renomeação e altere o nome de "conchas ~ cópia original" para "conchas"
  • Retorne ao pop-up Informações e altere a configuração de permissão para "Todos" de volta ao seu valor original
  • Feche o pop-up Informações

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


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 "Shell de login" - eu uso / bin / bash, mas você pode usar qualquer shell instalado.


4

Eu tive o mesmo problema; uma reinicialização fez o truque para mim. Não está acostumado a fazer isso em um Mac :-P


O mesmo comigo (no Lion). Outros aplicativos estavam funcionando (como o BBEdit), então achei que tentaria reiniciar primeiro e funcionou.
nevan king

3

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

Basta executar a Permissão de disco de reparo com o Disk Utility :-).


3

Alterar a senha da minha conta de usuário por meio das Preferências do sistema corrigiu isso para mim (eu mudei para o mesmo valor, o que presumivelmente acabou de forçar o sistema operacional a gravar algumas informações da conta do usuário em arquivos). Eu uso o Mac OS X 10.7.3 e nenhum arquivo no / etc parece ter sido alterado.


2

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

Usei a abordagem de Tim para abrir um terminal usando um shell diferente. Depois editei o arquivo / etc / shells para incluir o shell preferido e, em seguida, usei a abordagem de Tim novamente para restaurar o caminho do shell original nas "Opções avançadas".


2

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

  • Para chegar até /private/etcvocê, use a Go -> Go to Folderopção do item de menu Finder e digite/private/etc
  • Em seguida, localize o arquivo de conchas.
  • Não me permitia editar o arquivo, então eu o apaguei.
  • Então eu 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 nessa /private/etcpasta.
  • Quando o restaurei, não consegui descobrir como direcionar o Time Machine para essa pasta (não vi uma opção ir para a pasta); portanto, 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 conseguir o que foi dito acima, e suponho que você precise estar em uma conta de administrador.


0

Para mim, nenhuma das respostas padrão foi o problema - tudo estava como deveria ser.

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

Eu não havia usado o comando emacs shell, mas de alguma forma esses aplicativos ainda interagiam de uma maneira infeliz.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.