Gibt es eine Möglichkeit, alle verfügbaren Farben in der Konsole / im virtuellen Terminal zu ändern?
Mit Konsole meine ich, was Sie erhalten, wenn Sie STRG + ALT + F1 drücken, und nicht so etwas wie xterm oder urxvt. Ich denke, das würde eine Veränderung bedeuten
Ich kann 8 der Farben mit Escape-Sequenzen wie folgt ändern:
echo -en "\e]PY######"
Dabei ist Y die numerische ID der Farbe (0 bis 7) und ###### der hexadezimale Farbwert.
Mein ultimatives Ziel ist es, das solarisierte Farbschema auf die Konsole zu portieren, da ich trotzdem gleich aussehen möchte, unabhängig davon, ob ich mich in der Konsole oder in X befinde.
Irgendwelche Vorschläge dazu?
htop in xterm:
htop in xterm, solarisierte Farben
htop in der Konsole, nachdem ich die 8 Farben angewendet habe : htop in der Konsole, nachdem ich die 8 Farben
angewendet habe, die ich konnte
quelle
Antworten:
Die TTY-Framebuffer-Konsole kann ohne Kernel-Hacking nicht mehr als 8-16 Farben haben. Siehe dieses Zitat: "Obwohl der Linux-Frame-Buffer 256 (oder mehr) Farben unterstützt, unterstützt der Linux-Konsolentreiber dies nicht. Daher sind Konsolenanwendungen immer noch verfügbar Beschränkt auf 16 Farben auf der Linux-Konsole, Frame-Buffer oder nicht. "
Sie können also nicht mehr als 16 oder 8 Farben haben. Es gibt ein Tutorial zum Ändern der Farben für das Framebuffer-Terminal (auch bekannt als Strg + Alt + 1) mit denselben Befehlen wie in ~ / .bashrc: Farben im TTY-Tutorial beschrieben
quelle
fbterm
: unix.stackexchange.com/questions/316878/… und unix.stackexchange.com/questions/254234/…Probieren Sie diese Bash-Funktion in der Konsole aus. Passenderweise funktioniert es in einem X-Terminal nicht (ich denke wegen der Registerkarten). Schauen Sie sich insbesondere die drei zuletzt verwendeten Dateien an, nämlich
Als Antwort auf einen Kommentar bearbeiten
Ändern Sie beispielsweise die zweite Ziffer in der grünen Datei (
sys/module/vt/parameters/default_grn
) in170
- dies gibt der zweiten Farbe (mit Index 1) so viel Grün wie Rot und kein Blau (zumindest in meinem Fall, weil ich die entsprechende Ziffer in habe)default_red
170
. und0
indefault_blu
).Geben Sie nun ein
tput setaf 1; echo hi
. Hier setzen Sie die Vordergrundfarbe auf die Farbe mit Index 1 (die Sie geändert haben) und drucken sie dann aus. (Beachten Sie den Oneliner mit einem Doppelpunkt, um die Befehle zu trennen. Andernfalls kann Ihre Eingabeaufforderung dietput
dazwischen liegenden Befehle zurücksetzen .)Wenn es wie immer aussieht, versuchen Sie es
echo -n '\033]R'
und dann dietput
Zeile erneut. Jetzt sollten beide "Hallo" irgendwie gelb sein.Lassen Sie mich wissen, ob Sie es zum Laufen bringen (oder nicht).
quelle