Como posso usar meu próprio shell como o shell de login?

1

Suponha que eu tenha um mini-shell chamado minish , que fornece apenas cd , ls , rm , mkdir , etc. minish salvo em ~/Desktop/Shell . Pode ser usado a partir de outro shell, como bash , chamando apenas ~/Desktop/Shell/minish . Isso funciona bem.

Mas para usá-lo como o shell de login, adicionei ~/Desktop/Shell/minish na parte inferior de /etc/shells e execute chsh e digite ~/Desktop/Shell/minish , mas ele diz que minish é um shell inválido.

Eu adivinhei 2 possibilidades desse erro:

  • Porque minish não está em /bin , já que outros shells estão em /bin .
  • Como existem algumas qualificações para serem chamadas como shell , nenhum arquivo executável pode ser um shell , meu minish .

Se o segundo caso for o motivo, quais são essas qualificações ou necessidades e como chsh verifica essas condições? Ou existe algum outro motivo?

Obrigado.

    
por Analysis 06.04.2015 / 16:09

1 resposta

4

Você coloca ~/Desktop/Shell/minish verbatim em /etc/shells ; a expansão de ~ é um recurso de shell e provavelmente não é suportada por qualquer aplicativo que analise /etc/shells , porque não saberia, para cujo diretório inicial ~ deve se referir. Em vez disso, você precisa usar o nome do caminho completo, e. g. /home/analysis/Desktop/Shell/minish .

    
por David Foerster 06.04.2015 / 20:45