Home / LinuxUser / 2007 / 08 / Ein neuer Anstrich

Top-Beiträge

Jailbreaken erlaubt
(233 Punkte bei 9 Stimmen)
Mein Schreibtisch
(205 Punkte bei 9 Stimmen)
Nie mehr Mails abrufen!
(195 Punkte bei 6 Stimmen)
Debian per Post
(178 Punkte bei 7 Stimmen)
Überflieger
(178 Punkte bei 7 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 8500 Shops,
3.1 Mio Artikel. Alle Bestseller, Gutscheine und Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Bei Freeware bietet Ihnen kostenlose Software Downloads von Programmen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Ein neuer Anstrich

Farbe auf der Shell mit ANSI-Escape-Sequenzen

01.08.2007 Jetzt ist Schluss mit dem grauen Shell-Alltag – renovieren Sie die Konsole und verpassen Sie ihr mit ANSI-Escape-Sequenzen einen neuen Look.

Schwarz auf Weiß oder Weiß auf Schwarz – so langweilig muss heutzutage kein Terminal mehr aussehen. Jede moderne Linux-Konsole stellt problemlos zahlreiche Farben dar und koloriert damit Programmausgaben, Begrüßungsmeldungen und sogar den Shell-Prompt. Dieser Artikel zeigt, wie Sie Farbe ins Spiel bringen und die Kommandozeile renovieren.

Der Farbtopf

Einige Programme bringen sie von Haus aus mit – Parameter, die die Ausgabe einfärben. Sowohl Ls als auch Grep verstehen die Option --color, die mit bunter Ausgabe auf der Konsole für mehr Übersicht sorgt (Abbildung 1). Für den Anstrich sorgen die so genannten ANSI-Escape-Sequenzen.

Abbildung 1: Die Befehle Ls und Grep färben auf Wunsch die Programmausgabe ein und sorgen so für mehr Übersicht.

Um beispielsweise mithilfe des Tools Echo eine farbige Textzeile auf der Bash auszugeben, markieren Sie den entsprechenden Text mit einer solchen Escape-Sequenz. Listing 1 zeigt entsprechende Beispiele.

Listing 1
echo -e "Ein \033[0;34mblaues Huhn\033[0m. Das ist wieder normaler Text."
echo -e "Ein \e[0;34mblaues Huhn\e[0m. Das ist wieder normaler Text."
echo "Ein ^[[0;34mblaues Huhn^[[0m. Das ist wieder normaler Text."
echo -e "Ein \033[0;34m\033[41mblaues Huhn\033[0m sitzt gerne auf roten Sachen."

Dort sieht man, dass die Eingabe des Escape-Zeichens (^[) selbst auf verschiedene Art und Weise möglich ist. Die oktale Schreibweise lautet \033; in dieser Form (und auch bei der Schreibweise \e) benötigt das Echo-Programm die Option -e, um die Interpretation des Backslash zu ermöglichen. Alternativ geben Sie das Zeichen in Vi(m) und auf der Bash ein über die Tastenkombinationen:

  • [Strg]+[V],[Esc]
  • [Strg]+[V],[Strg]+[[]

In (X)Emacs benutzen Sie eine der drei Tastenkombinationen:

  • [Strg]+[Q],[Esc]
  • [Strg]+[Q],[Strg]+[[]
  • [Strg]+[Q][0][3][3]

Nach dem Escape-Zeichen folgen eine sich öffnende eckige Klammer und der Farbcode (abgeschlossen durch das m): Vor dem Semikolon steht optional ein Attribut für die Vordergrundfarbe (im Beispiel 0 für normale Schrift) und eine Vorder- oder Hintergrundfarbe (im Beispiel 34 für blaue Schrift auf Standardhintergrund). Es folgt der farbige Text (blaues Huhn), und über ^[[0m schalten Sie wieder zurück auf die Standardeinstellungen für den restlichen Text.

Eigentlich bestehen die Attribute aus zwei Ziffern (zum Beispiel 00). Die einstellige Schreibweise reicht aber aus, da die erste Ziffer immer eine Null ist. Als Eigenschaften für die Vordergrundfarbe sind neben 0 unter anderem 1 (fett), 4 (unterstrichen), 5 (blinkend) oder 7 (invers) möglich. Für die Hintergrundfarben existieren kein zusätzlichen Attribute.

Abhängig davon, ob Sie auf der Konsole (gemeint sind KDEs Terminalprogramm Konsole und die virtuellen Konsolen, die Sie in der Regel über [Strg]+[Alt]+[F1]…[F6] erreichen) oder in einem Xterm arbeiten, sehen die Farben anders aus und die Attribute bewirken eine unterschiedliche Ausgabe: So verändert 1 auf der Konsole beispielsweise die Helligkeit der Vordergrundfarbe sowie im Xterm die Stärke, das heißt, sie setzt die Attribute fett oder normal (Abbildung 2). Die Tabelle "Vordergrund" gibt eine Übersicht über die Vordergrundfarben mit den beiden Attributen 0 und 1; die Tabelle "Hintergrund" zeigt die möglichen Hintergrundfarben (ohne Attribut).

Vordergrund

Farbcode

00

01

30 Schwarz Grau
31 Rot Hellrot
32 Grün Hellgrün
33 Braun Gelb
34 Blau Hellblau
35 Magenta Rosa
36 Cyan Hellcyan
37 Weiß Hellgrau

Hintergrund

Farbcode

Hintergrund

40 Schwarz
41 Rot
42 Grün
43 Gelb (Xterm)/Braun (Konsole)
44 Blau
45 Magenta
46 Cyan
47 Hellgrau

Abbildung 2: Abhängig davon, ob Sie Konsole oder Xterm verwenden, beeinflusst das Attribut 01 entweder die Farbe oder den Schriftgrad.

Sie dürfen auch Vorder- und Hintergrundfarbe miteinander kombinieren. Um beispielsweise das den Text blaues Huhn auf einem rotem Hintergrund auszugeben, hängen Sie an das Kommando für die Vordergrundfarbe direkt den Farbcode für den Hintergrund an (Listing 1, Zeile 4).

Grep mal farbig

Wem die Standardfarbausgabe der Option --color von Grep nicht zusagt, definiert die Variable GREP_COLOR mit den gezeigten Escape-Sequenzen neu. Um das voreingestellte Highlight-Rot zum Beispiel durch eine türkise, unterstrichene Schrift auf einem Hintergrund in Magenta zu ersetzen, tippen Sie:

export GREP_COLOR="04;36;45"

Die Anführungszeichen verhindern, dass die Shell das Semikolon interpretiert. Die so gesetzte Variable gilt jedoch nur für die Dauer der aktuellen Shell-Sitzung. Um Grep mit einem permanenten Anstrich zu versehen, tragen Sie den Aufruf in die Datei ~/.bashrc ein. Spätestens beim nächsten Anmelden aktiviert sich die die neue Konfiguration. Möchten Sie nicht so lange warten, lesen Sie die Bash-Konfigurationsdatei über das Kommando source ~/.bashrc zur Laufzeit ein.

Aktuelles Heft bestellen
Kommentare
Linux und der Farbtopf
peter-s (unangemeldet), Freitag, 21. Mai 2010 14:43:47
Ein/Ausklappen

Schlicht grässlich diese Spielerei - ein Feature für Leute die nicht lesen können.


Bewertung: Noch keine Bewertung abgegeben!
Den Beitrag bewerten: Gut / Schlecht
Einem Freund empfehlen    Druckansicht

1796 Hits
Wertung: 92 Punkte (16 Stimmen)

Infos zur Publikation

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Touchpad beim Tippen ausschalten
Touchpad beim Tippen ausschalten
Marcel Hilzinger, 19.07.2010 13:34, 3 Kommentare

Wer kennt das Problem nicht: während man so fröhlich vor sich hin tippt, ist man zufällig mit dem Daumen oder einem anderen Finger auf's Touchpad gekommen und schon schreibt man ohne es zu wol...

Aktuelle Fragen

Netzwerkprobleme mit SuSE 11.3
Lukas Jäger, 30.07.2010 12:24, 1 Antworten
Hallo, zusammen. Ich wollte die Tage meine SuSE auf 11.3 upgraden. Als das soweit gemacht war, b...
Übergrosse Distributionen
--- ---, 24.07.2010 11:34, 3 Antworten
Hat die Grösse einer Distribution auswirkungen auf die Leistung des Systems ? Beispiel: Wenn ma...
KeepassX (LinuxUser 8/10)
Matthias Drexler, 22.07.2010 16:53, 3 Antworten
In der aktuellen LinuxUser ist ein Artikel über KeepassX. Dort wird über ein Problem berichtet,...
Prozess zurückholen
Martin Burkhardt, 21.07.2010 02:02, 2 Antworten
Hallo, Seit einigen Jahren beschäftigt mich die Frage ob es möglich ist einen Prozess der mit...
Acrobat Reader Plugin mit alternativen Browsern nutzen
GoaSkin , 12.07.2010 23:29, 3 Antworten
Hallo, das Acrobat Reader Plugin funktioniert wunderbar mit dem Firefox, doch andere Browser k...