Shell-Addon Powerline in Arch Linux und Ubuntu installieren

Avatar von Christoph Langner

7 Min. Lesezeit

57 Aufrufe

Linux und das liebe Terminal: Einsteiger haben Angst vor ihm, fortgeschrittene Linux-User wollen es überhaupt nicht mehr missen. Der Start in ein jedes Terminalfenster ist nun immer der Prompt: also die blinkende Eingabeaufforderung mit dem Namen eures Benutzers davor. Dieses lässt sich nun unter Linux jedoch auf tausenden von unterschiedlichen Wegen anpassen. Es gibt unzählige…

Linux und das liebe Terminal: Einsteiger haben Angst vor ihm, fortgeschrittene Linux-User wollen es überhaupt nicht mehr missen. Der Start in ein jedes Terminalfenster ist nun immer der Prompt: also die blinkende Eingabeaufforderung mit dem Namen eures Benutzers davor. Dieses lässt sich nun unter Linux jedoch auf tausenden von unterschiedlichen Wegen anpassen. Es gibt unzählige Howtos, zahlreiche Wikis und sogar webbasierte Prompt-Generatoren im Netz. Mit Powerline lässt sich nun das Linux-Prompt jedoch noch deutlich umfangreicher gestalten. Mit Tmux als Zusatzprogramm, zeigt es sogar dynamische Informationen wie die Zeit oder die Systemlast im Terminal als Statusleiste an.

Powerline ist ein in Python geschriebenes Programm, das den Prompt dynamisch gestaltet. So zeigt Powerline beispielsweise den Pfad zum aktuellen Verzeichnis als Breadcrumbs an, das Programm kümmert sich um den Git-Status und symbolisiert Änderungen oder es klinkt sich via Plugin in Programme wie den Editor Vim, in den Terminal-Multiplexer Tmux oder in Fenstermanager wie Awesome ein. Ich beschränke mich hier in diesem Beitrag lediglich auf die Bash und Tmux. Wer „mehr“ möchte, der muss einfach mal die sehr ausführliche Dokumentation der Entwickler studieren. Bei der Installation von Powerline konzentriere ich mich auf zudem die systemweite Installation des Programms unter Ubuntu und Arch Linux. Weitere Hinweise zur Installation findet ihr auch wieder in der Powerline-Doku.

Powerline unter Arch einrichten

Unter Arch Linux lässt sich Powerline sehr leicht installieren, da das Programm mitsamt der dafür nötigen Fonts im AUR vorhanden ist. Für die Installation greift ihr zu eurem Lieblings-AUR-Helper, in meinem Fall wäre das eben pacaur, und braut euch mit den PKGBUILDs python-powerline-git und powerline-fonts-git die von den Powerline-Entwicklern offiziell unterstützten Pakete. Beachtet dabei, dass es im AUR noch PKGBUILDs für Python2 gibt, zudem schwirren dort auch noch veraltete Einträge rum. Lasst euch daher von den unterschiedlichen Treffern nicht verwirren und installiert am besten die offiziellen Pakete.

$ pacaur -S python-powerline-git powerline-fonts-git tmux

Nach der Installation der Software, müsst ihr euer System nun noch ein wenig anpassen. Die Anleitung für Powerline gibt dazu Hilfestellungen für Shells (bspw. Bash, Zsh oder Fish), Fenstermanager (bspw. Awesom oder lemonbar) und andere von Powerline unterstützte Anwendungen wie Vim oder Tmux. Ich setze an dieser Stelle die Unterstützung für die Bash und Tmux um, da die Bash in den meisten Distributionen Standard ist und sich mit Tmux leicht das Terminal noch weiter aufbohren lässt. Öffnet dazu nun also die entsprechenden Konfigurationsdateien in einen Editor (etwa nano ~/.bashrc sowie nano ~/.tmux.conf) und fügt den Inhalt der beiden Listings ein. Die Konfigurationsdatei von Tmux gibt es üblicherweise nicht, der Editor legt sie automatisch an.

~/.bashrc

[...]
# Powerline
if [ -f `which powerline-daemon` ]; then
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/lib/python3.5/site-packages/powerline/bindings/bash/powerline.sh
fi

~/.tmux.conf

source /usr/lib/python3.5/site-packages/powerline/bindings/tmux/powerline.conf
set-option -g default-terminal "screen-256color"

Öffnet ihr jetzt ein neues Terminalfenster, dann erscheint nun automatisch das Powerline-Prompt. Ruft ihr danach noch zusätzlich tmux auf, dann kommt die Leiste am unteren Rand des Terminalfensters hinzu — Tmux kann man auch automatisch laden lassen, darauf gehe ich am Ende des Artikels ein. Bei mir musste ich zusätzlich noch die Einstellungen des von Gnome mitgelieferten Terminals öffnen und dort einen der Powerline-Fonts auswählen, erst dann stimmen die Sonderzeichen wie die Uhr in der unteren Leiste oder die Pfeile im Prompt. Ihr erkennt einen nicht angepassten Font an Spalten zwischen den Ordnernamen und den Pfeilen.

Powerline unter Ubuntu einrichten

Ubuntu führt Powerline noch nicht in den Paketquellen, es gibt meinen Recherchen nach auch noch kein PPA, aus dem man das Programm direkt installieren könnte. Ihr müsst Powerline daher aus dem Git auschecken und selber bauen, was dank der Paketverwaltung für Python-Module Pip nicht sonderlich schwer fällt. Anschließend holt ihr euch noch die Fonts und installiert diese im System. Die Anleitung für die Installation stammt von Ask Ubuntu, ich habe sie auf einem Ubuntu 15.10 erfolgreich nachvollziehen können. Alternativ wird dort die Installation im Benutzeraccount beschrieben, so müsstet ihr Powerline auch ohne Root-Rechte zum Laufen bekommen.

$ sudo apt-get install python-pip git tmux
$ sudo pip install git+git://github.com/Lokaltog/powerline
$ wget https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
$ sudo mv PowerlineSymbols.otf /usr/share/fonts/
$ sudo fc-cache -vf
$ sudo mv 10-powerline-symbols.conf /etc/fonts/conf.d/

Anschließend müsst ihr auch unter Ubuntu wieder die Konfigurationsdateien der Bash und von Tmux anpassen (wieder als Beispiel: nano ~/.bashrc und nano ~/.tmux.conf). Unter Ubuntu sind die Pfade ein wenig anders als bei Arch, zudem unterscheidet sich bei älteren Ubuntu-Versionen eventuell die Python-Version. Prüft daher am besten vor dem Speichern der Dateien nach, ob der Pfad auf eurem System stimmt, und sucht euch mit locate powerline.sh bei Bedarf den korrekten Pfad heraus. Anschließend speichert ihr die Dateien wieder ab und öffnet ein neues Terminalfenster. Auch unter Ubuntu sollte nun das Powerline-Prompt automatisch starten und sich die Fußzeile mit tmux nachladen lassen.

~/.bashrc

[...]
# Powerline
if [ -f /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh ]; then
source /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh
fi

~/.tmux.conf

source /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf
set-option -g default-terminal "screen-256color"

Tmux automatisch starten

Wer öfters mal länger dauernde Aufgaben auf einem Server erledigt, der wird mit Sicherheit das Kommando screen kennen. Mit ihm kann man Programme starten, sich aus der Sitzung ausklinken und später zurückkehren — ohne dass das Programm zwischendurch beendet wird. Tmux ist nun ein noch leistungsfähiger Terminal-Multiplexer, der noch diverse andere Funktionen kennt. Auf dieses Programm greift Powerline wie schon beschrieben zurück, um am unteren Rand des Terminalfensters ein paar Statusinformationen anzeigen zu lassen, allerdings müsst ihr Tmux eben bewusst aufrufen.

Ihr könnt Tmux nun aber auch automatisch beim Öffnen der Shell starten lassen. Bearbeitet dazu wieder mit nano ~/.bashrc die Konfigurationsdatei der Bash und fügt den Inhalt aus dem folgenden Listing ein. Die Kommandos prüfen ob Tmux überhaupt installiert ist und ob das Programm eventuell aus einer bestehenden Screen- oder Tmux-Sitzung aufgerufen werden soll. Passt alles, lädt die Bash dann automatisch Tmux und die Fußleiste von Powerline erscheint am unteren Rand. Beachtet jedoch, dass sich dadurch der Aufbau des Terminalfenster einen deutlich spürbaren Tick verlangsamt.

~/.bashrc

[...]
# Start Tmux by default
# If not running interactively, do not do anything
if command -v tmux>/dev/null; then
[[ ! $TERM =~ screen ]] && [ -z $TMUX ] && exec tmux
fi

Mit dem von mir vor ein paar Tagen beschriebenen Gnome-Terminal Terminix, Powerline und Tmux ergibt sich dann am Ende zum Beispiel dieses Bild — was ich allerdings nur für diesen Screenshot eingerichtet habe. Ich persönlich nutze in der Regel nur die Breadcrumb-Funktion von Powerline, da mir sonst der Aufbau des Terminalfensters ein wenig zu lange dauert. Die Tmux-Fußleiste ist eher etwas für Situationen, in denen das Linux-Terminal in all seiner Pracht glänzen soll 😉

Ähnliche Beiträge

7 Kommentare zu „Shell-Addon Powerline in Arch Linux und Ubuntu installieren“

  1. Avatar von Heiko

    Powerline hat einen kleinen Nachteil: Da es ein Python-Script ist, hängt natürlich immer auch der Python-Interpreter dazwischen, was ab und an dazu führen kann, das die Shell ein wenig träge reagiert.

    1. Avatar von Christoph Langner

      Yep, deshalb empfehle ich bspw. die Tmux-Geschichte auch nicht wirklich, wir dauert dann schon der Start eines Terminals zu lange. So wichtig ist mir der Blick auf die Load dann auch nicht 😉

      1. Avatar von Heiko

        Es gibt mit bash-powerline einen Powerline-Port nach Shell-Script: https://github.com/riobard/bash-powerline

        1. Avatar von Christoph
          Christoph

          Alternativ gibt es auch noch Liquidprompt (https://github.com/nojhan/liquidprompt) das verzichtet auf eine spezielle Font, zeigt aber auch Zusatzinformationen wie background commands, git, load usw. an.
          Ich nutze das schon eine ganze Weile, wobei mich nur die Git-Unterstützung und die Anzeige der Programme im Hintergrund interessiert.

        2. Avatar von Mark

          Danke für den Hinweis, das schaue ich mir mal an.

  2. Avatar von Linux-Fan
    Linux-Fan

    Hi Christoph.

    Kannte Powerline schon länger, du hast mich drauf gebracht es mal wieder auf meiner neuen Maschine aufzusetzen. Danke für die Idee 😉

    Ich hatte allerdings Probleme mit der VIM Integration:


    ERROR:vim:powerline:Failed to create renderer: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbarYou may need to increase the inotify limits on your system, via /proc/sys/fs/inotify/maxuser*

    Deswegen hier einfach schnell der Workaround für Leser, die evtl. das selbe Problem haben:

    echo fs.inotify.maxuserwatches=32768 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

    (Weitere Infos/Quelle: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers)

  3. Avatar von Mathias

    Hallo Christoph,

    Powerline unter Arch zu installieren war überhaupt kein Problem und läuft auch einwandfrei. Das Problem ist Tmux: Die Fußleiste wird normal mit Powerline dargestellt, der Prompt selbst ist jedoch ohne Powerline und auch einfach nur weiß (im normalen Terminal ist das ja standartmäßig grün). Bisher habe ich keine Lösung für mein Problem gefunden – hast du da eine Idee?

    In der .bashrc und .tmux.conf sind die entsprechenden Einträge gemacht. Wenn ich .tmux.conf lösche und statt dessen un einer tmux Session ‚powerline-config tmux setup‘ eintippe, bin ich bei der Situation wie vorher (Prompt nein, Status ja).

    Liebe Grüße,
    Mathias

Schreibe einen Kommentar

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

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Wo wir beim Thema TuxSucht sind. @gnulinux hat einen tollen Beitrag über das "Projekt" veröffentlicht.

gnulinux.ch/tux-macht-suechtig…

#Linux #foss #opensource

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — Shell-Addon Powerline in Arch Linux und Ubuntu installieren
https://linuxundich.de/gnu-linux/shell-addon-powerline-arch-linux-ubuntu-installieren/ — gedruckt am 23. September 2026