Estou tentando abrir o GNU Screen com o seguinte comando no meu Mac OS:
host:~ user$ screen
O terminal da tela é aberto, mas morre rapidamente com a mensagem de erro:
Não é possível exec / bin / false: esse arquivo ou diretório não existe
Meu terminal está configurado para abrir o bash
shell na inicialização. Eu tentei definir o shell do terminal para sh
, dá o mesmo erro.
No entanto, quando executo o screen
comando as sudo
, o comando é bem-sucedido.
Como resolvo isso para o usuário normal?
/bin/false
nos arquivos rc (.bashrc
,.bash_profile
etc.) Verifique também o seu.screenrc
.Respostas:
Dê uma olhada nos scripts de inicialização do shell
bash
ou noscreen
arquivo de configuração e veja se há algum lugarfalse
sendo usado com o caminho explícito/bin/false
.No macOS, o
false
utilitário está localizado em/usr/bin
, não em/bin
.Caso contrário, verifique se o seu shell de login, por algum motivo estranho, está definido como
/bin/false
, inspecionando/etc/passwd
ou consultando as "Opções avançadas" na seção "Usuários e grupos" das Preferências do sistema (você as obtém clicando com o botão direito do mouse no seu usuário). na lista de contas de usuário, e você também pode alterar o shell aqui). Alguém pode ter seguido sem pensar um tutorial / HOWTO que configura um usuário/bin/false
como seu shell padrão.Quando você executa
screen
comsudo
você, usaroot
os arquivos init do shell / tela. É por isso que isso funciona.fonte
Vá para preferências no Terminal e, em seguida, vá para geral e, em 'Shell aberto com', selecione Comando e digite bash -l
fonte