Wie kann ich die Farben von fbterm mit Escape-Sequenzen ändern?

2

Aus fbterm (1) können wir lesen:

FbTerm unterstützt die 256-Farben-Modus-Erweiterung von xterm. (...) Die 256-Farben-Escape-Sequenzen von xterm stehen jedoch in Konflikt mit den von FbTerm implementierten Linux-Sequenzen. Daher wurden private Escape-Sequenzen eingeführt, um diese Funktion zu unterstützen:

   ESC [ 1 ; n }                   set foreground color to n (0 - 255)
   ESC [ 2 ; n }                   set background color to n (0 - 255)
   ESC [ 3 ; n ; r ; g ; b }       set color n to (r, g, b) , n, r, g, b all in (0 - 255)

Wie können diese Escape-Sequenzen mit dem Befehl geschrieben werden echo -ne?

Merryup
quelle

Antworten:

2

Sie können z

echo -ne "\E[2;32} "

das sollte ein blaues Leerzeichen drucken. (32 ist die 32. Farbe in der Standard-8-Bit-Farbtabelle, die blau zu sein scheint.)

(Natürlich können Sie auch \x1boder \033anstelle des \EEscapezeichens verwenden.)

Um alle 255 Farben anzuzeigen, können Sie verwenden, for i in {0..255}; do echo -ne "\E[2;$i} "; done; tput sgr0; echooder for i in {0..255}; do echo -ne "\E[2;$i}$i "; done; tput sgr0; echodie auch die Nummer der Farbe enthält.

Beispiel: Beispiel für eine Farbausgabe, die mit fbgrab von framebufferconsole aufgenommen wurde

Kai
quelle
Haben Sie eine Referenz für die Standardfarbpalette?
Attie
Nein, aber Sie könnten so etwas wie versuchen for i in {0..255}; do echo -ne "\E[2;$i} "; done; tput sgr0; echo, dies sollte 255 farbige Leerzeichen ausgeben und jede textfarbbezogene Einstellung am Ende auf die Standardeinstellungen zurücksetzen ( tput sgr0).
Kai
In der Tat - vielleicht könnten Sie dies Ihrer Antwort mit einem Screenshot des Ergebnisses hinzufügen? Zahlen in der Farbe wäre noch besser :-)
Attie
1
Fertig, ich habe beide Einzeiler hinzugefügt (-:
Kai