O problema subjacente é que o mapeamento realizado screenentre o terminal real (identificado pela TERMvariável de ambiente externa screen) e a emulação interna screené incompleto.
Se você testá-lo (usando vttest ou tack ), poderá notar deficiências no
A tentativa de corrigir esses problemas através da criação termem .screenrctem o inconveniente de que ele funciona apenas para um dado real-terminal, e não é portável para outras implementações do terminal. As notas da documentação
O uso do termo command é desencorajado para fins não padrão.
Há outra solução (com uma desvantagem diferente), usando esse recurso da screen documentação :
Quando a tela tenta descobrir um nome de terminal para si mesma, primeiro procura uma entrada chamada tela. term , onde term é o conteúdo da sua $TERMvariável. Se essa entrada não existir, a tela tentará screen(ou screen-w, se o terminal for largo (132 cols ou mais)). Se mesmo essa entrada não puder ser encontrada, vt100será usada como um substituto.
O ncurses fornece várias descrições alternativas úteis de terminais para este caso, por exemplo, screen.xterm-new , para reparar problemas no mapeamento da tela. Na prática, eu uso TERM=xterm-newe, ao executar a tela, obtenho um mapeamento utilizável das teclas de função.
Voltando à termconfiguração da tela , ao testar, você pode perceber que ainda existem problemas com o mapeamento, abordados nessas alternativas. Se fosse possível obter uma descrição precisa do terminal term, essas alternativas seriam aliases simples para screen. Eles não são.
ncurses não fornece screen.xterm(sic) porque:
TERM=xtermé amplamente utilizado incorretamente em emuladores de terminal que diferem do xterm; adicionar esse mapeamento apenas agravaria essa situação (consulte, por exemplo, Por que não usar TERM definido como "xterm"? nas Perguntas frequentes sobre ncurses)
screen.xtermé menos provável que o nome alternativo seja instalado em sistemas remotos (consulte o comentário sobre alterações de junho de 2015 no banco de dados do terminal).
No geral, no entanto, o uso de nomes alternativos é uma melhoria em relação ao uso termno seu .screenrc: ele resolve mais problemas do que cria. O inverso é verdadeiro da termconfiguração.
term xtermao meu~/.screenrcarquivo o corrigiu. Obrigado novamente!