Como eu mudo (permanentemente) o shell padrão após o login em um TTYn específico no Linux?

3

Eu sei que o comando chsh é usado para trocar o shell de login de um usuário entre os shells instalados, mas funciona independentemente de onde o login vem (tty1, tty2, ssh, ... ). O que eu gostaria de alcançar é ter, por exemplo csh nos logins de tty7 e, e. bash em todas as outras origens de login.

Isso é factível?

    
por Anonymous 08.02.2018 / 18:44

1 resposta

8

Não e sim.

Não, o shell de login está vinculado ao usuário, não ao TTY no qual o usuário faz login. Um usuário pode ter apenas um shell de login específico.

Sim, o usuário pode, nos arquivos de inicialização do shell de login, iniciar qualquer outro programa ou utilitário, dependendo de qualquer condição.

Por exemplo, um usuário com bash como seu shell de login atual poderia adicionar algo como o seguinte ao seu arquivo .bash_profile para executar csh ao efetuar login no terminal virtual 7:

case $(tty) in
    */tty7) exec csh -l ;;
esac

exec csh -l substituiria o shell atual por csh , iniciado como um shell de login.

    
por 08.02.2018 / 18:58