El problema subyacente es que la asignación realizada screen
entre el terminal real (identificado por la TERM
variable de entorno externa screen
) y la emulación interna screen
está incompleta.
Si por casualidad lo prueba (usando vttest o tack ), puede notar deficiencias para
- colores
- llaves especiales
Intenta solucionar estos problemas configurando term
de .screenrc
tiene el inconveniente de que sólo funciona para un determinado terminal real, y no es portable a otras implementaciones de terminales. Las notas de documentación
Se desaconseja el uso del término comando para fines no predeterminados.
Hay otra solución (con un inconveniente diferente), utilizando esta función de screen
documentación :
Cuando la pantalla intenta averiguar un nombre de terminal por sí mismo, primero busca una entrada llamada pantalla. término , donde término es el contenido de su $TERM
variable. Si no existe tal entrada, la pantalla intentascreen
(o screen-w
, si el terminal es ancho (132 cols o más)). Si incluso esta entrada no se puede encontrar, vt100
se utiliza como sustituto.
ncurses proporciona varias descripciones de terminales alternativas útiles para este caso, por ejemplo, screen.xterm-new , para reparar problemas en el mapeo de la pantalla. En la práctica, uso TERM=xterm-new
, y cuando ejecuto la pantalla, obtengo una asignación utilizable de las teclas de función.
Refiriéndose de nuevo a la pantalla de term
configuración, en la prueba se puede notar que hay todavía problemas con la asignación, que se abordan en estas alternativas. Si fuera posible obtener una descripción precisa del terminal usando term
, estas alternativas serían simples alias screen
. No son.
ncurses no proporciona screen.xterm
(sic) porque:
TERM=xterm
se usa mucho para emuladores de terminal que difieren de xterm; agregar esta asignación solo agravaría esa situación (ver, por ejemplo, ¿ por qué no solo usar TERM configurado en "xterm"? en las preguntas frecuentes de ncurses)
screen.xterm
es menos probable que el nombre alternativo se instale en sistemas remotos (consulte el comentario de cambio de junio de 2015 en la base de datos del terminal).
En general, sin embargo, usar los nombres alternativos es una mejora sobre el uso term
en su .screenrc
: resuelve más problemas de los que crea. Lo contrario es cierto de la term
configuración.
term xterm
a mi~/.screenrc
archivo lo solucionó por mí. ¡Gracias de nuevo!