Para elaborar o que o Gilles diz, suponha que você esteja se conectando remotamente ao seu Ubuntu a partir do Windows usando o Putty.
Nas opções putty config, em Connection- > Data, há uma configuração chamada string do tipo terminal. Você pode definir seu TERM lá e putty instrui o SSH a definir essa variável de ambiente. Em algum momento depois que seu shell for executado, provavelmente / bin / bash e ele obterá seu ambiente de seu processo pai, provavelmente o processo sshd.
O mesmo vale se você fizer o ssh a partir de uma caixa de Linux remota, apenas porque a variável de ambiente TERM local é passada através do ssh para a conexão remota.
No caso de um emulador de terminal, o trabalho do emulador de terminal é definir a variável de ambiente TERM. por exemplo. getty define TERM para "linux" e bifurca um processo de shell (/ bin / bash). ou o gnome-terminal define TERM como "xterm" e bifurca um processo de shell.