Ao definir:
export TERM=xterm-256color
você está dizendo a htop
(e todos os outros aplicativos de terminal visual que usam o termcap ou o banco de dados terminfo) que seu terminal é um xterm de 256 cores e não um console virtual Linux.
htop
consultará o banco de dados terminfo para saber qual sequência de caracteres é enviada quando F1 , F2 ... mas irá receber aqueles para xterm
. / p>
xterm
envia sequências diferentes do console virtual do Linux para essas chaves, que você pode verificar consultando o banco de dados terminfo manualmente com infocmp
, por exemplo:
$ infocmp -L1 xterm-256color | grep 'key_f[1-5]='
key_f1=\EOP,
key_f2=\EOQ,
key_f3=\EOR,
key_f4=\EOS,
key_f5=\E[15~,
$ infocmp -L1 linux | grep 'key_f[1-5]='
key_f1=\E[[A,
key_f2=\E[[B,
key_f3=\E[[C,
key_f4=\E[[D,
key_f5=\E[[E,
Portanto, htop
não reconhecerá \E[[A
como F1 , esperará \EOP
por isso.
Aqui, você não deseja atribuir valores a $TERM
in ~/.bashrc
. $TERM
deve ser definido pelos emuladores de terminal ( xterm
, terminator
), e por getty
para os consoles virtuais Linux (deve ser linux
).
Se você não estiver satisfeito com o valor que um emulador de terminal específico escolhe para $TERM
, essa é a configuração dos emuladores de terminal que você deve atualizar.