Drücke „Enter“, um zum Inhalt zu springen

Kommandozeile einfärben mit pywal

Wenn auf dem Linux-Desktop alle Farben genau aufeinander abgestimmt sind, sieht das gleich viel besser aus. Das Linux-Tool pywal hilft dabei, indem es die Farben im Terminalfenster so verändert, dass sie gut zum Hintergrundbild passen.

Leider ist pywal auch ein Beispiel für ein Open-Source-Projekt, dessen Entwickler nach Jahren die Arbeit einstellt, ohne dass jemand anderes das Projekt weiterführen würde. Seit April 2024 ist das GitHub-Repository archiviert, das letzte Update für pywal stammt aus 2019. Noch funktioniert die Software: Pywal generiert eine Farbpalette passend zu einem vorgegebenen Hintergrundbild und ändert die Farben des Terminalfensters entsprechend. Wie das aussieht, demonstriert das Video zum Einfärben der Kommandozeile mit pywal.

YouTube-Thumbnail des Videos zu pywal
pywal im Video

pywal installieren

Unter Arch Linux und Manjaro installiere ich pywal mit pacman auf der Kommandozeile oder mit der grafischen Software-Verwaltung Pamac aus den Paketquellen. Da die Software aber schon so alt ist und bei mir zumindest etliche Fehler ausgibt, habe ich stattdessen einen Fork installiert: python-pywal16. Der ist unter Manjaro/Arch im AUR verfügbar und lässt sich mit Pamac oder einem AUR-Wrapper wie yay installieren.

Unter anderen Linux-Distributionen bleibt die Möglichkeit, das Original-pywal aus den Paketquellen zu nutzen (sofern vorhanden) oder das Tool mit dem Python-Paketmanager pip3 zu installieren. Oder wahlweise den Quellcode von der Github-Seite selbst zu kompilieren. Für die beiden letzten Wege gibt es Anleitungen auf der Github-Seite.

pywal funktioniert nicht mit jedem Terminalprogramm. Ob es funktioniert, verrät ein Befehl, den ich ins Terminal kopiere:

printf "%b" "\033]11;#ff0000\007"

Wenn sich daraufhin der Terminalhintergrund rot färbt, eignet es sich auch für pywal. Getestet habe ich das beispielsweise mit dem Xfce4-Terminal und Black Box, die beide funktionieren.

Der Befehl zeigt, ob pywal das Terminalprogramm (hier Black Box) einfärben kann.

pywal aufrufen

Um jetzt eine Farbpalette passend zu einem Bild zu generieren, rufe ich das Programm mit dem Befehl wal samt Pfad und Dateiname zum Bild auf, also beispielsweise

wal -i ~/Bilder/bildname.jpg

Die Tilde ~ steht dabei als Kürzel für den Pfad ins Home-Verzeichnis, bei mir /home/lmd. pywal erkennt nun die zentralen Farben im Bild und erstellt daraus eine Farbpalette. Die wiederum nutzt das Tool, um die Farben im Terminalfenster anzupassen. Eigentlich sollte der Befehl auch gleich das angegebene Bild als Desktop-Hintergrund setzen. Doch im Test funktionierte das leider nicht. Daher muss ich anschließend noch den Desktop-Hintergrund anpassen. Auf dem Xfce-Desktop reicht dazu ein Rechtsklick auf den Desktop, „Schreibtischeinstellungen“ aufrufen, unten das Verzeichnis mit den Wallpapers auswählen, aufs gewünschte Bild klicken und das Fenster mit „Schließen“ wieder zumachen.

Mit passenden Farben im Terminal wirkt der Desktop gleich mehr wie aus einem Guss.

Einstellungen übernehmen

Die neuen Farbeinstellungen fürs Terminal gelten zunächst nur für das gerade geöffnete Fenster. Damit auch neue Fenster sie nutzen und sie den nächsten Rechnerneustart überleben, muss ein Eintrag in die Konfiguration der verwendeten Shell. Bei vielen Distributionen kommt die Bash als Shell zum Einsatz. Konfigurationen landen dann in der .bashrc. Ich verwende die Zsh, daher muss ich für Konfigurationen die Datei .zshrc ändern. Wie der vorangestellte Punkt im Dateinamen verrät, sind beides versteckte Dateien im Home-Verzeichnis, die im Dateimanager nur angezeigt werden, wenn die Ansicht „Verborgene Dateien anzeigen“ oder so ähnlich aktiviert ist. Meist drückt man Strg+H, um sie ein- oder auszublenden. Die Datei öffne ich entweder mit einem grafischen Texteditor wie Gedit oder Mousepad oder im Terminal mit nano. Bei mir heißt der Befehl dann:

nano ~/.zshrc

In eine neue Zeile ganz am Ende ergänze ich mit vorangestelltem Doppelkreuz einen Kommentar, damit ich später noch weiß, wo der Eintrag herkommt. Ein cat-Befehl liest schließlich die zuletzt verwendete Farbkombination aus dem Cache aus:

# pywal
cat ~/.cache/wal/sequences

Die von pywal generierten Farbpaletten liegen im Home-Verzeichnis im Cache (~/.cache/wal/schemes) und lassen sich auch noch für die Konfiguration weiterer Desktop-Elemente nutzen. Das würde hier aber ein bißchen zu weit führen, daher belasse ich es beim Terminal.

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Durch die weitere Nutzung der Seite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen