Festlegen der TERM-Variable

Festlegen der TERM-Variable

Habe ich Recht, dass das Festlegen des Terminaltyps im Inittab-Eintrag wie folgt ist: c2:... tty2 linux-m ist nur eine Art informative Aufgabe - legt die TERM-Variable fest, um Befehle/Programme/Anwendungen darüber zu informieren, welcher Terminaltyp das System tatsächlich ist. Das gilt auch, wenn der TERM das Terminal als monochrom beschreibt, das Terminal aber tatsächlich Farben anzeigen kann, wenn der Befehl ls --color=alwaysseine Ausgabe an das Terminal sendet, das Farben anzeigt, auch wenn es in Inittab als nicht farbig definiert ist?

Antwort1

TERM ist zwar informativ, aber viele Programme/Befehle respektieren es oder verlassen sich darauf.

Wie Farben erzeugt werden, hängt möglicherweise stark vom Terminaltyp ab. In der Praxis vermute ich, dass alle, die Farben unterstützen, ANSI (oder eine Obermenge) verwenden.

Wenn TERM auf einen Mono-Terminaltyp eingestellt ist, müsste ein Programm andere Informationen verwenden, um zu entscheiden, welche Art von Terminalfarbsteuerung verwendet werden soll. Wenn die Vorgabe „ANSI“ ist, wird es heutzutage wahrscheinlich in den meisten Fällen funktionieren.

Dies wäre nicht sinnvoll, wenn das Terminal wirklich mono ist. Es wäre besser, wenn der Befehl/das Programm anstelle von Farbe monochromatische Methoden (z. B. Umkehren, Unterstreichen, Intensivieren, Durchstreichen, Blinken usw.) verwenden würde, um Elemente optisch voneinander zu unterscheiden.

Wenn das jeweilige Programm/der jeweilige Befehl TERM respektiert (was bei vielen der Fall ist), wird es Ihnen wahrscheinlich mitteilen, dass Ihre Farbanforderung vom Terminaltyp nicht unterstützt wird.

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

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

Ich habe den Ncurses-Quellcode nicht untersucht, um zu sehen, wie has_colors()er implementiert ist, und ich weiß nicht, welcher Anteil (falls überhaupt) der Programme/Befehle dem obigen Muster folgt.

Ich finde, dass ein Stück sehr wichtige Software TERM respektiert

TERM=xterm-mono robotfindskitten

(mono display)

Andererseits lsweiß er, wenn ich flunke.

verwandte Informationen