So zeigen Sie Handbuchseiten in Farbe unter Linux an

Falls du dir eine farbliche Darstellung deiner Manpages wünschst, ähnlich der Syntaxhervorhebung, die man in Editoren findet, gibt es zwei einfache Wege, dies zu realisieren. Wir zeigen dir beide!

Farbliche Hervorhebung

Die farbliche Hervorhebung verbessert die Lesbarkeit. Sie kann entscheidende Details hervorheben, sodass man diese nicht überliest. Die meisten modernen Editoren bieten Syntaxhervorhebung, die durch Farben verschiedene Elemente einer Programmiersprache kennzeichnet. Schlüsselwörter, Variablen, Zeichenketten und Zahlen werden eingefärbt, um die visuelle Analyse von Codeabschnitten zu erleichtern.

Diese Funktion in den Linux-Manpages zu haben, wäre sehr nützlich. Trotz ihrer Prägnanz können einige Manpages umfangreich und schwer zu überblicken sein. Jegliche Optimierung der visuellen Navigation ist daher von Vorteil.

Wir stellen dir zwei Methoden vor, um einen Farbeffekt in Manpages zu erzielen. Eine verwendet einen anderen Pager, während die andere eine Reihe von Parametern an ‚less‘ übergibt. Der einfachste Weg, dies zu tun, ist die Erstellung einer Shell-Funktion.

Die meisten Pager sind Dateibetrachter wie ‚more‘ und ‚less‘, die für die Anzeige sehr breiter Dateien optimiert sind. Zudem färben sie Manpages automatisch ein.

Um ‚most‘ unter Ubuntu zu installieren, nutze diesen Befehl:

sudo apt-get install most

Um ‚most‘ unter Fedora zu installieren, verwende diesen Befehl:

sudo dnf install most

Um ‚most‘ unter Manjaro zu installieren, gib Folgendes ein:

sudo pacman -Syu most

Um Linux anzuweisen, ‚most‘ als Standardpager zu verwenden, muss die Umgebungsvariable PAGER exportiert werden.

Dies geschieht mit folgendem Befehl:

export PAGER="most"

Diese Änderung ist jedoch nur so lange aktiv, bis das Terminalfenster geschlossen wird. Um die Änderung dauerhaft zu speichern, muss sie zur Datei „.bashrc“ hinzugefügt werden (am besten als letzte Zeile):

gedit .bashrc

Füge die Zeile hinzu, speichere die Änderungen und schließe den Editor.

Um die Änderungen der „.bashrc“-Datei zu aktivieren, schließe das Terminalfenster und öffne es erneut.

Alternativ, um das Terminalfenster offen zu lassen, verwende den Befehl ’source‘, der abgekürzt als Punkt (.) verwendet werden kann. Dadurch liest die Shell den Inhalt der geänderten „.bashrc“-Datei.

Gib Folgendes ein:

. .bashrc

Farbige Manpages

Öffne nun eine Manpage, um zu sehen, wie sie aussieht:

man grep

Die Manpage öffnet sich wie gewohnt, aber Text ist nun in verschiedenen Farben hervorgehoben.

Scrolle nach unten, um zu sehen, wie die verschiedenen Elemente der Seite farblich gekennzeichnet sind.

Die Verwendung von ‚most‘ ähnelt der von ‚less‘, es gibt jedoch Unterschiede. Drücke ‚H‘, um eine Liste der Tastenbelegungen und deren Funktionen anzuzeigen.

Farbige Darstellung mit ‚less‘

Wenn du keinen zusätzlichen Pager installieren oder neue Tastenkombinationen erlernen möchtest, kannst du auch mit einem Trick ‚less‘ farbig verwenden. Es gibt verschiedene Möglichkeiten, dies zu tun, wir zeigen dir aber die schnellste und einfachste Methode.

Diese Methode verwendet die American National Standards Institute (ANSI) Farbcodes zur Steuerung der Bildschirmeffekte, die mit den alten und meist nicht mehr relevanten ‚termcap‘-Einstellungen verbunden sind.

Diese wurden ursprünglich dafür verwendet, festzulegen, wie Computerterminals verschiedener Hersteller und Modelle Anzeigebefehle interpretieren sollten. Softwarepakete hatten auch eigene ‚termcap‘-Einstellungen, ebenso ‚less‘.

Hier sind die Definitionen der ‚less termcap‘-Einstellungen:

LESS_TERMCAP_md: Startet den Fettdruck (doppelt hell).
LESS_TERMCAP_me: Beendet den Fettdruck.
LESS_TERMCAP_us: Startet die Unterstreichung.
LESS_TERMCAP_ue: Beendet die Unterstreichung.
LESS_TERMCAP_so: Startet den Stand-Out-Effekt (ähnlich invertiertem Text).
LESS_TERMCAP_se: Beendet den Stand-Out-Effekt (ähnlich invertiertem Text).

Wir werden diese nun so einstellen, dass die Farbkombinationen mithilfe der American National Standards Institute (ANSI) Farbcodes gesteuert werden.

Das Format des Farbcodes ist leicht zu verstehen:

Das „e“ am Anfang kennzeichnet die Sequenz als Steuer- oder Escape-Sequenz.
Das „m“ am Ende des Sequenzbefehls zeigt das Ende des Befehls an und bewirkt die Ausführung des Steuercodes.
Die Zahlen zwischen „[“ und „m“ bestimmen die zu verwendenden Farben. Einige Zahlen repräsentieren Hintergrundfarben, andere Vordergrundfarben (Text).

Dies sind die Codes, die wir zum Starten einer Farbsequenz verwenden, und wie man sie alle deaktiviert:

‚e[01;31m: Schwarzer Hintergrund, roter Text.
‚e[01;32m: Schwarzer Hintergrund, grüner Text.
‚e[45;93m: Magentafarbener Hintergrund, leuchtend gelber Text.
‚e[0m‚: Deaktiviert alle Effekte.

Wir werden dies alles in eine Shell-Funktion namens ‚man‘ einbetten. Sie wird diese Werte für uns setzen und dann das eigentliche ‚man‘-Programm aufrufen.

Falls du bereits Shell-Funktionen in einer anderen Datei definiert hast, kannst du diese Funktion dort hinzufügen. Ansonsten kopiere folgenden Text ans Ende deiner „.bashrc“-Datei:

man() {
    LESS_TERMCAP_md=$'e[01;31m' 
    LESS_TERMCAP_me=$'e[0m' 
    LESS_TERMCAP_us=$'e[01;32m' 
    LESS_TERMCAP_ue=$'e[0m' 
    LESS_TERMCAP_so=$'e[45;93m' 
    LESS_TERMCAP_se=$'e[0m' 

    command man "[email protected]" }
gedit .bashrc

Füge die Funktion ans Ende deiner „.bashrc“-Datei ein.

Speichere die Änderungen und schließe den Editor. Nun muss die Datei „.bashrc“ eingelesen werden, um die Shell-Funktion zu aktivieren, also gib Folgendes ein:

. .bashrc

Wenn wir nun eine Manpage starten, wird sie in ‚less‘ farbig dargestellt:

man chmod

Die Manpage öffnet sich mit farbiger Hervorhebung.

Im Nachhinein war Gelb auf Magenta vielleicht nicht die beste Idee. Glücklicherweise können die Farbcodes nach eigenen Vorlieben angepasst werden.

Mehr als nur Optik

Es ist leicht, beim Scrollen durch eine lange Manpage wichtige Informationen, wie Optionen oder Parameter, zu übersehen, da diese in einem Textmeer untergehen.

Jetzt werden Parameter- und Optionsnamen hervorgehoben und sind viel leichter zu erkennen.