Na maior parte, você não deve definir TERM
manualmente. A variável é sempre definida automaticamente e há apenas um conjunto restrito de circunstâncias em que o valor padrão está incorreto.
O valor de TERM
precisa ser referenciado no banco de dados do terminfo do sistema (ou para alguns bancos de dados antigos sistema, no banco de dados termcap ). Terminfo e Termcap mapeiam os tipos de terminal para a descrição dos recursos do terminal que os aplicativos usam. O valor de TERM
é o tipo de terminal.
O principal motivo pelo qual você pode precisar alterar TERM
é se você efetuar login remotamente, quando a máquina local e a máquina remota tiverem bancos de dados de terminal diferentes.
Outro motivo, relacionado ao anterior, é que às vezes há várias entradas semelhantes para um terminal, com recursos ligeiramente diferentes. Isso tende a acontecer principalmente quando surge um novo terminal compatível com um terminal existente, mas com mais recursos. Você então pode escolher entre usar o nome tradicional, que todas as máquinas entendem, mas que anuncia apenas os recursos tradicionais ou o nome mais novo, que anuncia todos os novos recursos, mas que algumas máquinas não entenderão.
Um exemplo disso é xterm com 16 cores vs xterm com 256 cores. Um xterm tradicional suporta apenas 16 cores, e é isso que o banco de dados do terminal xterm
especifica. Alterar a entrada xterm
tornaria os usuários das versões mais recentes do xterm felizes, mas quebraria a configuração dos usuários de versões antigas do xterm que fazem login remotamente. A mudança para um novo nome - xterm-256color
- fornece os recursos mais recentes sempre que disponíveis, mas não é reconhecida se você efetuar login remotamente em máquinas com um banco de dados de terminal mais antigo. Como não há solução que possa satisfazer a todos, você tem uma escolha: ficar com xterm
e não obter as 256 cores, ou usar xterm-256color
, o que não funciona se você fizer login em máquinas remotas que não usam t apoiá-lo.
Deixar o valor padrão de xterm
e definir o recurso termName
como xterm-256color
(o que faz com que a variável de ambiente TERM
seja definida para o mesmo valor) são, portanto, escolhas sensatas. A configuração de TERM
para valores arbitrários não funcionaria, mas ambos, xterm
e xterm-256color
, fazem sentido.