![¿Por qué tmux establece la variable TERM en la pantalla?](https://rvso.com/image/76417/%C2%BFPor%20qu%C3%A9%20tmux%20establece%20la%20variable%20TERM%20en%20la%20pantalla%3F.png)
Citando tmux
la página de manual:
La variable de entorno TERM debe configurarse en "pantalla" para todos los programas que se ejecutan dentro de tmux. A las nuevas ventanas se les agregará automáticamente “TERM=pantalla” a su entorno, pero se debe tener cuidado de no restablecerlo en los archivos de inicio del shell.
¿Esto se debe a que tmux
la sesión se puede conectar a cualquier terminal (por ejemplo, remota), screen
siendo el mínimo común denominador? Si conozco mi terminal, ¿puedo forzarlo sin resultados inesperados o se romperían algunas capacidades no compatibles (como el desplazamiento)?
Respuesta1
Hace esto para aprovechar la descripción del terminal previamente instalado para la pantalla GNU.
Ambostmuxypantallaproporcione aplicaciones con (más o menos) las "mismas" descripciones de terminales para simplificar la conexión desde diferentes terminales. Se supone que los programas tmux y screen manejan las diferencias entre lo interno (TERM=screen) y lo externo (xterm, linux, etc.). Entonces, la screen
descripción del terminal se ha instalado "en todas partes" (generalmente mediante ncurses).
Hay algunas diferencias:
- La pantalla GNU tiene unaproblema muy viejoque representa la característica "destacada" (que técnicamente no es una característica específica del terminal sino más bien una abstracción para la conveniencia de las aplicaciones de curses). tmux no tiene esa limitación. Pero la mejoraTÉRMINO=tmuxno está necesariamente "en todas partes".
- La pantalla GNU tiene una función para usar descripciones de terminales híbridos. Dado el TERM externo=xterm y la existencia de "screen.xterm", lo elegirá para el valor TERM interno. (ver por ejemplo elbase de datos terminal). tmux no hace eso.
Respuesta2
A partir detmux 2.1, puedes usar eltmux
información terminológica:
'terminal predeterminado' ahora es una opción de sesión. Además, si está configurado en 'pantalla-*', emule lo que hace la pantalla. Si se desean cursivas, se puede configurar en 'tmux', pero aún es nuevo y no necesariamente es compatible con todas las plataformas con instalaciones anteriores de ncurses.