¿Qué terminal está emulando la aplicación Mountain Lion Terminal?

3

Recientemente migré de 10.6 a 10.8. Uso Terminal para conectarme a varias cajas de linux donde se observa que la variable TERM es xterm-color . Esto parece ser consistente con la configuración 10.6 de TERM.

Sin embargo, desde la actualización he tenido problemas con mis sesiones Terminal cuando / cuando las redimensiono a algo más ancho que 80x24. Lo que normalmente sería líneas muy largas de texto se ajustan a 80 columnas hasta que vuelvo a cambiar el tamaño, momento en el que se muestra correctamente. Es decir, es como que el ancho se atasca en el último tamaño (envolviendo todo en el ancho anterior) hasta que se realiza un cambio de tamaño después de mostrar algo que espera un mayor ancho.

Este tipo de sensación parece que la entrada [n] curses para xterm-color se cambió (no lo hizo) o que terminal no está emulando realmente a un dispositivo xterm-color . El comportamiento es diferente (quizás mejor, todavía estoy evaluando) si especifica un xterm .

¿Hay una mejor configuración para TERM cuando se usa Terminal de Mountain Lion?

    
pregunta jhfrontz 15.01.2013 - 22:51

1 respuesta

7

Al igual que con muchos emuladores de terminal, el Terminal emula la mayor parte de un VT100 más algunas características de los terminales más nuevos y algunas extensiones comunes de xterm y otros emuladores.

No hay un archivo terminfo que se corresponda exactamente con el terminal, pero la coincidencia más cercana solía ser xterm-color , lo que representa una rama anterior de xterm. Sin embargo, en versiones recientes, Terminal es más compatible con xterm y xterm-256color es el nuevo valor predeterminado para la variable de entorno TERM .

En Preferencias > Configuraciones > [perfil] > Avanzado > Emulación hay un menú emergente Declare terminal como: que establece el valor de TERM (y eso es todo lo que hace, no altera qué funciones admite Terminal). Si está utilizando una Mac que ha actualizado desde una versión anterior del sistema operativo, es posible que desee / necesite actualizar la configuración para que coincida con la nueva configuración predeterminada recomendada si aún está configurada en xterm-color . No se recomienda usar xterm-color y es posible que cause problemas porque no es tan similar al conjunto de funciones actual de la Terminal.

A pesar del hecho de que las instalaciones de ncurses deben incluir todos los archivos terminfo, algunas distribuciones de Linux no, y en particular algunas de ellas omiten xterm-256color . Si este es el caso, verás que los programas se quejan de varias maneras por no poder encontrarlo, y la solución es instalar todo el conjunto de archivos terminfo, o al menos todos los de xterm.

Si xterm-256color no está disponible, la siguiente mejor opción es xterm-16color , seguido de xterm . Estos tres son compatibles y representan la versión actual de xterm con números decrecientes de colores compatibles ( xterm solo declara los ocho colores ANSI básicos, aunque muchos programas simplemente ignoran eso y suponen que se admiten dieciséis, pero xterm-16color es el único para elegir si desea declarar explícitamente la compatibilidad con dieciséis colores).

Es difícil decir exactamente qué podría estar causando el problema que estás viendo, pero lo primero que debes intentar es ejecutar el comando infocmp en el host remoto para ver lo que dice. Eso le dirá qué término está esperando y si se encontró.

Si se trata de un problema genérico de ncurses o terminfo, es probable que ocurra con otros programas, como vim. Puede intentar ejecutar vim o menos, por ejemplo, para comparar comportamientos. Si se siente motivado, puede ejecutar vttest enlace en el host remoto y verificar que Terminal responde adecuadamente a las pruebas de dibujo. atributos de texto, cambio de tamaño de la pantalla y cambio a / desde la pantalla alternativa.

Cuando cambia el tamaño de una ventana de terminal, el programa de terminal notifica al dispositivo tty, que envía una señal SIGWINCH a los procesos conectados a ella. Los programas son responsables de responder a la señal adecuadamente. Una cosa a probar es si las variables LINES y COLUMNS se actualizan en bash cuando cambia el tamaño de la ventana del terminal. Si eso funciona, entonces el mecanismo de señal se está comportando correctamente.

Otra posibilidad es que el programa no esté cambiando a / desde la pantalla alternativa correctamente (lo que podría deberse a la selección de un terminal incompatible). Puede verificar la vista > Ocultar / Mostrar pantalla alternativa para ver qué pantalla está activa actualmente. Si muestra la pantalla incorrecta, puede intentar cambiarla manualmente con el elemento del menú y ver si eso aclara el problema.

    
respondido por el Chris Page 16.01.2013 - 14:53

Lea otras preguntas en las etiquetas