Wie kann ich Farben in TTY richtig funktionieren lassen?

7

Ich benutze vim oft und es fällt mir ein, dass ich die meiste Zeit nicht einmal wirklich eine GUI brauche, da ich meinen Computer nur benutze, um Notizen in VIM zu machen. Das Problem ist aber, dass Farben erscheinen nicht korrekt auf tty ( das heißt , wenn ich drücke Ctrl+ Alt+ F1, F2etc.). Ich habe ein Plugin für VIM gefunden, mit dem Farben mit Terminals, die normalerweise mit GVIM funktionieren, besser funktionieren. Dadurch funktionieren sie beispielsweise in Gnome-Terminals, aber nicht in TTY.

Dieser Beitrag scheint darauf hinzudeuten, dass ich den gesamten Kernel neu kompilieren müsste, damit dies funktioniert. Gibt es einen einfacheren Weg? Kann es gemacht werden?

Jonathan
quelle

Antworten:

3

Fragen Sie, wie Sie 256-Farben-Unterstützung in Linux-Konsolentypen erhalten können? Wie der Beitrag, auf den Sie verlinkt haben, besagt, müssten Sie Ihren Kernel ändern, um dies zu tun (und die Änderungen, die Sie benötigen, wurden nicht geschrieben: Es geht nicht nur darum, die Konfiguration zu ändern). Ohne Änderung müssen Sie mit den Standardfarben 16 auf der Konsole auskommen.

Eine Alternative wäre, zu einem anderen Terminalemulator zu wechseln. Eine Option ist fbterm , das unter demselben Namen auf Ubuntu gepackt wurde. Es ist ein Terminalemulator, der direkt auf dem Linux-Frame-Buffer-Gerät ausgeführt werden kann.

Wenn Sie sich gerade nach einem Vollbild-Terminalemulator befinden, können Sie auch den Standard-GNOME-Terminalemulator verwenden und drücken F11.

James Henstridge
quelle
Ja, im Grunde möchte ich einen Weg finden, um 256 Farben zu unterstützen, ohne X zu laden. Nur um zu sehen, ob ich das kann. Verzeihen Sie den Anfängern Fragen, aber was genau ist ein Frame Buffer (Wikipedia ist diesmal wenig hilfreich)? Wenn ich versuche, fbterm im gnome-terminal auszuführen, wird mir gesagt, dass "stdin kein interaktives tty ist!" und wenn ich es in tty1 versuche, sagt es mir "kann Frame Buffer Device nicht öffnen!" Es ist anscheinend ein sehr ausrufendes Programm.
Jonathan
Ein Bildpuffer bezieht sich nur auf ein Stück Speicher, das das darstellt, was auf dem Bildschirm angezeigt wird. Linux bietet eine "Frame Buffer Device" -Schnittstelle, mit der der Frame Buffer bearbeitet werden kann. Sie können nur Programme ausführen, die die fbdevBenutzeroberfläche über die Konsole verwenden (im Gegensatz zu X), und Sie müssen sich selbst der videoGruppe hinzufügen, um darauf zugreifen zu können. Sobald dies erledigt ist, sollte fbterm einwandfrei funktionieren. Möglicherweise müssen Sie auch festlegen TERM=fbterm, dass von Ihnen ausgeführte Programme ihre Funktionen erkennen.
James Henstridge