Wo finde ich eine Dokumentation zur GNU / Linux TTY-Formatierung?

438
jcubic

Auf gnu.org gibt es GNU Head, das auf dem Terminal angezeigt werden kann. Es enthält XTerm-kompatible (Normal dokumentierte ANSI-Codes), enthält aber auch die TTY-Version (es funktioniert auf Cygwin, wurde nicht in XTerm oder einem echten Terminal getestet).

Es enthält Text wie:

]Pf767676[1;37mâ]Pf9e9e9e[1;37mâ]P7bcbcbc[47m]Pfeeeeee[1;37mâ] 

Es hat \x1bdann ]Pf767676und dann normal [1;37mwas zB auf Wikipedia dokumentiert ist . Was ist ]Pf767676und wo ist es dokumentiert?

1

1 Antwort auf die Frage

2
grawity

Speziell für die Linux-Konsole gibt es die Handbuchseite console_codes (4) . Es listet die von VT102, ECMA-48, DEC und einigen privaten Sequenzen übernommenen Sequenzen auf.

Zum Beispiel sind alle Sequenzen, die mit ESC [(Abkürzung CSI) beginnen, unter "ECMA-48 CSI-Sequenzen" dokumentiert. Sie funktionieren auch auf allen Terminals gleich (oder funktionieren überhaupt nicht).

Auf der anderen Seite sind ESC ](Abkürzungen OSC) Sequenzen für jedes Terminal privat und ihre Dokumentation in dieser Manpage ist an verschiedenen Stellen verstreut. ESC ] Pwird beschrieben als:

 ESC] OSC (Sollte sein: Betriebssystembefehl) ESC] P nrrggbb: set Palette, mit Parameter in 7 angegeben Hexadezimalstellen nach dem letzten P :-(. Hier n ist die Farbe (0-15), und rrggbb gibt das an Rot / Grün / Blau-Werte (0-255).  ESC] R: zurücksetzen Palette 

Mit anderen Worten, die Folge ESC ] P f 767676macht die 15. Farbe auf der Palette zu hexadezimal # 767676.

Also in `] Pf767676 [1; 37m`f (15.) 46 Cyan-Hintergrund (von 30 gezählt) auf # 767676 ändern oder die Farbe mit dieser 37 auswählen? jcubic vor 10 Jahren 0
@jcubic: In der Linux-Konsole können Sie nur eine 8-Farben-Palette (0–7) verwenden, die den Codes „30“ bis „37“ zugeordnet ist. Die anderen 8 Farben werden tatsächlich für "fette" Versionen derselben Codes verwendet. dh "1" + "30" wählt anstelle von 0 die 8. Farbe. In ähnlicher Weise wählt "1; 37" die 15. Farbe. (Es gibt Sequenzen für eine echte 16-Farben-Palette, sie werden jedoch nicht allgemein unterstützt und normalerweise nicht in Terminals, an denen die Palette überhaupt geändert werden kann.) grawity vor 10 Jahren 0