Hay muchas preguntas similares, pero no encuentro nada que coincida exactamente.
Estoy utilizando el Terminal por defecto (en Yosemite) para SSH en una VM. El terminal de la VM está configurado para usar TERM=xterm-256color
correctamente, y 256 colores funciona localmente en la VM con la misma configuración del terminal, pero los colores no lo harán a través de la conexión SSH. ¿Alguien tiene alguna idea de lo que se necesita para conseguir Terminal para tratar la salida como secuencias normales de 256 colores?
Todo lo que quiero aquí es averiguar por qué los códigos de escape de 256 colores son ignorados en Terminal.app cuando vienen a través de una conexión SSH. Y, por supuesto, conseguir que deje de ignorar las secuencias de escape.
Posiblemente información excesiva:
La VM está ejecutando Windows 7, el shell es bash en cygwin, el servidor ssh es bitvise.
Estoy viendo 3 casos -- localmente en OSX bash nativo en Terminal.app, localmente en la VM bash en MinTTY, y en la VM vía SSH en Terminal.app.
infocmp xterm-256color
produce resultados idénticos en los tres casos, y tput colors
informa 256 en todos los casos.
(tput setaf 200 && echo pink) > pink
produce resultados idénticos en los tres casos:
$ hexdump -C pink
00000000 1b 5b 33 38 3b 35 3b 32 30 30 6d 70 69 6e 6b 0a |.[38;5;200mpink.|
00000010
cat pink
ya sea en Terminal.app (localmente, no SSHed en cualquier lugar) o en MinTTY en la VM imprime el texto rosa esperado. cat pink
en Terminal.app mientras se está conectado por SSH a la VM produce un texto gris claro por defecto.
La conexión SSH se configura con EscapeChar none
por lo que los datos deberían llegar limpios de binarios (el cambio de esta configuración no supuso ninguna diferencia).
Las preferencias en Terminal.app están configuradas para informar como xterm-256color
aunque no creo que eso suponga ninguna diferencia.
¿Alguna idea de lo que está comiendo la secuencia de escape a fallar? No estoy usando nada más que bash plain ol para las conchas, no screen
o tmux
(a menos que Terminal.app lo utilice de forma automática/interna).