Ich überarbeite meine Antwort jetzt, da ich mir der Dinge sicher bin.
Es war falsch zu folgern, dass die ANSI-Sequenzen über das BIOS oder auf andere Weise außerhalb des Kernels verarbeitet wurden. in der Tat werden sie im Kernel gehandhabt. Ich fand, was ich dank hnaz_ im LinuxNewbies-IRC-Kanal verpasst hatte: drivers/char/vt.c
Implementiert eine Emulation eines Digital Equipment VT102-Terminals, das vom virtuellen Terminaltreiber verwendet wird.
Als endgültige Antwort, nachdem Sie den Quellcode überprüft haben, der die Escape-Sequenzen für virtuelle Terminals verwaltet: Wenn Sie 256-Farben-Unterstützung für virtuelle Terminals wünschen, müssen Sie nach der Erweiterung des Codes, der die Escape-Sequenzen analysiert, einen eigenen Kernel erstellen um die breitere Farbspezifikation zu behandeln.
Die Funktion heißt csi_m (). Die Änderungen müssen denen ähneln, die die X-basierten Terminalemulatoren erweitern, um Escape-Sequenzen zu verarbeiten, die die reicheren Farbcodes angeben. Es werden wahrscheinlich auch andere Änderungen erforderlich sein, aber hier würden Sie beginnen.
kmscon
handelt sich um ein Userland-Terminal, das versucht, das Terminal zu verbessern (einschließlich 24-Bit-Farbe). Obwohl seine Entwicklung zugunsten einer Systemalternative stagniert hat.Ihre 256-Farben-RXVT / xterm / URXVT / etc werden durch terminfo und die Einstellung der
TERM
Variablen definiert. In den meisten Linux-Distributionen sind Ihre virtuellen Terminals definiert/etc/inittab
und verwenden einen Standard-Terminaltyp, der definiert, wie viele Farben das Terminal verwenden kann.Ja.
Stellen Sie sicher, dass Ihr Framebuffer die richtige Auflösung / Bittiefe verwendet. Versuchen Sie
vga=773
, die Kernel-Optionen zu erweitern, um beispielsweise 1024 x 768 und 256 Farben (8-Bit-Farbtiefe) zu erhalten.Legen Sie ein anderes TERM fest (z
export TERM=foo
. B. ). Sie müssen experimentieren, um die richtige zu finden. Wenn Sie eines finden, das funktioniert, können Sie es/etc/inittab
so ändern , dass Ihre virtuellen Terminals es standardmäßig ausführen (siehe nächster Abschnitt).Dieser Artikel beschreibt andere Optionen, die für Sie möglicherweise funktionieren. Es empfiehlt Qingy (Qingy ist nicht GettY) als Ersatz für getty und gibt Ihnen möglicherweise das, wonach Sie suchen, wenn das Wechseln von TERM-Variablen keine Option ist.
Apropos getty-Ersatz, ich schwöre, ich habe Anweisungen zum Ersetzen von getty durch
GNU screen
irgendwo auf dem Weg gesehen. Ich finde den Link im Moment nicht, aber da es einen TERM für 256 Farben gibtscreen
, können Sie sich das ansehen./etc/inittab
Verwendet Zeilen wie diese, um virtuelle Terminals einzurichten:Hier ist die Manpage
/sbin/getty
(von meinem Debian-System aus, also technisch gesehen dasagetty
Programm):Beachten Sie das
baud_rate,... port [term]
dort am Ende. Das stimmt mit dem Befehl in der/etc/inittab
Zeile (/sbin/getty 38400 ttyN
) überein - es gibt kein[term]
Argument, daher erhalten wir eine Standardeinstellung (wird ausgeführt,echo $TERM
sobald Sie sich an einer virtuellen Konsole angemeldet haben, um zu sehen, was Ihr System verwendet). Von der Manpage nochmal:Wenn Sie einen TERM finden, der funktioniert, ändern Sie die getty-Zeilen in Ihrer inittab und fügen Sie am Ende den richtigen TERM hinzu:
quelle
Schauen Sie sich fbterm an - es handelt sich um einen Ersatz-Framebuffer, der im 256-Farben-Modus ausgeführt werden kann (Sie führen ihn einfach als Root von einem TTY aus).
Ich hatte gemischten Erfolg damit - einige Anwendungen funktionieren einwandfrei und melden 256 Farben; Emacs (der Hauptgrund, warum ich 256 Farben für TTY wollte) scheint jedoch nicht zu funktionieren; Es wird hier ein wenig darüber diskutiert, aber es wird nicht wirklich gelöst:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00989.html
Mplayer sollte aber funktionieren!
quelle
emacs
innen zutmux
rennen, da es die Escape-Sequenzen für das umgebende Terminal übersetzen sollte.kmscon
Mit kmscon erhalten Sie 256 Farben und Videos, ohne dass ein Windows-System (X, Wayland) installiert ist.
Es wurde aufgegeben, wird aber derzeit über eine Gabel gewartet .
Die Dokumentation zur Installation ist schmal, aber die README-Seite hier sollte Ihnen weiterhelfen .
Ich habe dies installiert und verwende es für Konsolen-Apps, die 256 Farben erfordern (vim aufgrund meiner Konfiguration).
Lesen Sie die Installationsanweisungen sorgfältig durch.
quelle
Die ANSI-Escape-Sequenzen zum Festlegen der Vordergrund- und Hintergrundfarbe von Text sind hier einschränkend.
Aus dem Gedächtnis sehen diese Sequenzen wie Flucht aus [01; 34m]. Es gibt Codes in den 30ern für den Vordergrund und ich denke 40er für den Hintergrund.
Ich glaube nicht, dass es eine Möglichkeit gibt, das zu erreichen, wonach Sie suchen.
quelle