Ich habe also gerade mein Terminal-Farbdesign (Termite) auf solarisiert (hell) geändert, aber es scheint, dass es keine Auswirkungen hat alsamixer
. Ich hätte gern einen hellen Hintergrund. Ich habe die Konfiguration von termite
und .Xresources
auf das solarisierte Farbdesign geändert ...
Antwort1
Das liegt daran, dass alsamixer
es die Hintergrundfarbe aktiv auf Schwarz setzt.ANSI-Escape-Codesdas bedeutet, dass die ^[[40m
Sequenz gesendet wird. Sie können dies überprüfen, indem Sie die Ausgabe verändern:
Ausführen
alsamixer
und gleichzeitige Umleitung der Ausgabe in eine Datei:$ alsamixer > alsamixer.ansi
Mit Escoder Ctrl+Cbeenden Sie den Vorgang. Sie können auch mit
$ alsamixer | tee alsamixer.ansi
wenn Sie die Ausgabe gleichzeitig sehen möchten.
Entfernen Sie die störenden Teile:
$ sed -r -e 's/^[\[40m//g' -e 's/^[\[H^[\[2J.{,80}$//' < am.ansi
Der erste reguläre Ausdruck entfernt den schwarzen Hintergrund, während der zweite die Sequenz zum Löschen des Bildschirms beim Beenden entfernt. Beachten Sie, dass es
^[
sich dabei eigentlich um ein einzelnes ESC-Zeichen handelt, das im Terminal normalerweise durch erzeugt wird Ctrl+V Esc. Der letzte Alsamixer-Bildschirm sollte nun mit Ihrem Standardhintergrund angezeigt werden.
Sie können auch versuchen, es zu verketten:
$ alsamixer | sed -u 's/^[\[40m//g'
was Ihnen in manchen Fällen von Zeit zu Zeit den Alsamixer anzeigen könnte - das Problem dabei ist, dass die erzeugte Ausgabe eine Zeile ist und sed
die Verarbeitung daher erst beginnt, wenn der interne Puffer ausreichend gefüllt ist. Interaktivität können Sie also vergessen.
Zu Ihrer Frage: Die Lösung besteht entweder in einer Neukompilierung oder in einem Filter, der die Sequenzen mit minimaler Pufferung entfernt.