Configuración de la variable TERM

Configuración de la variable TERM

¿Tengo razón en que configurar el tipo de terminal en la entrada inittab de esta manera: c2:... tty2 linux-m es solo una especie de tarea informativa: establece la variable TERM para informar a los comandos/programas/aplicaciones qué tipo de terminal es realmente el sistema? Eso es incluso si el TERM describe el terminal como de tipo monocromático pero el terminal es capaz de mostrar colores cuando el comando ls --color=alwaysenvía su salida al terminal. ¿Muestro colores incluso si está definido como sin color en inittab?

Respuesta1

TERM es realmente informativo, pero muchos programas/comandos lo respetarán o confiarán en él.

La forma en que se produce el color podría depender en gran medida del tipo de terminal. En la práctica, sospecho que todos usan ANSI (o un superconjunto) donde se admite el color.

Si TERM se configura como un tipo de terminal mono, un programa tendría que usar alguna otra información para decidir qué tipo de control de color de terminal usar. Si el valor predeterminado es "ANSI", probablemente funcionará en la mayoría de las circunstancias hoy en día.

Esto sería algo malo si el terminal es realmente mono, sería mejor que el comando/programa use métodos mono (por ejemplo, invertir, subrayar, intensidad, tachar, parpadear, etc.) en lugar de color para distinguir elementos visualmente. .

Si el programa/comando en particular respeta TERM (como muchos lo hacen), es igualmente probable que le informe que su solicitud de color no es compatible con el tipo de terminal.

Verhttp://tldp.org/HOWTO/NCURSES-Programming-HOWTO/color.html

if(has_colors() == FALSE)
    {   endwin();
        printf("Your terminal does not support color\n");
        exit(1);
    }

No he inspeccionado el código fuente de ncurses para ver cómo has_colors()se implementa y no sé qué proporción (si corresponde) de programas/comandos siguen el patrón anterior.

Encuentro que una pieza de software muy importante respeta TERM

TERM=xterm-mono robotfindskitten

(mono display)

Por otro lado, lssabe cuando estoy mintiendo.

información relacionada