Dieses Jahr ist bei mir so viel los, dass ich mit den Türchen des Kalenders einfach nicht hinterher komme.
Was ... schon der 22. ?!?
In zwei Tagen ist Weihnachten!
Irre ... und oh ... heute bin ich dran ...
Die Shell
Nun zum Thema "Flüssige Shell!". Heute wollen wir unsere Shell ein kleinwenig pimpen.
Das Terminal ist wirklich ein enorm mächtiges Werkzeug und so hab' ich immer ein paar Fenster offen. Da macht es durchaus Sinn, sich etwas Zeit zu nehmen und alles nach den eigenen Wünschen anzupassen.
Die Basis ist hier die Shell, welche uns eine entsprechende Umgebung bereitstellt und die Befehle entgegen nimmt.
Hier gibt es einige gute und teils sehr interessante Shells, vor allem sei an dieser Stelle "fish" erwähnt. Aber auch der Klassiker "bash" ist gar nicht so verkehrt. Ich persönlich bevorzuge die "zsh", da diese enorme Möglichkeiten zum Anpassen bietet.
Für dieses Türchen benötigen wir allerdings eine Shell die Posix-Kompatibel ist, was "bash" und "zsh" sind. "Fish" geht da eigene Wege und eignet sich leider nicht für dieses Türchen.
Gegebenenfalls kann aber kurzerhand mit ...
Code: Alles auswählen
bash
Herausfinden, welche Shell gerade läuft, kann man z.B. mit:
Code: Alles auswählen
echo $0
Der Prompt selbst lässt sich über die Variable "PS1" anpassen.
Dies sieht unter Bash z.B. so aus:
Code: Alles auswählen
echo $PS1
\u@\h:\w\$
Code: Alles auswählen
user@workstation:/home$
Code: Alles auswählen
PS1="\[\033[0;32m\]\u:\[\033[1;34m\]\w\[\033[0m\]\$"
Es geht mittlerweile aber einfacher ... sehr viel einfacher.
Adaptiver Prompt
Ein adaptiver Prompt liefert im Idealfall genau das was man braucht ... wenn man es braucht.
So werden Farben automatisch angepasst und zusätzliche Informationen ausgegeben. Dies können z.B. die aktuelle Uhrzeit, eine hohe System-Last, der leer werdende Akku oder Informationen zum aktuellen Git-Repository sein.
Das Anpassen des Prompts übernehmen Tools wie z.B. "Liquidprompt", "Powerline", "Starship" oder "Spaceship".
Liquidprompt
Und da sind wir nun endlich beim eigentlichen Thema.
Ich persönlich bevorzuge liquidprompt und bin damit sehr zufrieden. Das kleine Tool ist bei mir nicht mehr wegzudenken und so möchte ich es Euch heute vorstellen.
Liquidprompt ist einfach, schnell, gut durchdacht, einfach zu konfigurieren und tut was es soll.
Code: Alles auswählen
apt install liquidprompt
Code: Alles auswählen
liquidprompt_activate
Beim nächsten Login sollte uns nun bereits der "flüssige Prompt" begrüßen.
Konfiguration
Die Konfiguration von Liquidprompt findet über eine der folgenden Dateien statt:
- ~/.liquidpromptrc
- ~/.config/liquidpromptrc
- /etc/liquidpromptrc
Beim Einrichten wurde bereits eine Beispiel-Konfiguration unter ~/.config/liquidpromptrc angelegt. Diese können wir nun mit unserem Lieblingseditor anpassen. Die einzelnen Punkte sind mit Kommentaren eigentlich gut beschrieben.
Generell sind die Vorgaben bereits sehr gut, weshalb man Liquidprompt auch ohne weitere Anpassungen gut verwenden kann.
Bei mir habe ich z.B. angepasst, dass der Hostname lokal nicht angezeigt wird. Ich weiß vor welchem Rechner ich sitze
Code: Alles auswählen
LP_HOSTNAME_ALWAYS=0
Liquidprompt bietet mit Themes quasi unendliche Möglichkeiten, das Styling des Prompts zu verändern.
Das gewünschte Theme wird am Anfang der "liquidpromptrc" geladen.
Vordefinierte Themes liegen unter: /usr/share/liquidprompt
Um das Powerline-Theme zu testen:
Code: Alles auswählen
source /usr/share/liquidprompt/powerline.theme
lp_theme powerline
Code: Alles auswählen
source /usr/share/liquidprompt/alternate_vcs.theme
lp_theme alternate_vcs
https://github.com/liquidprompt/liquidp ... iki/Themes
Eigenes Theme
Um das Debian-Theme ein wenig anzupassen, kopieren wir die entsprechende Datei in das Config-Verzeichnis:
Code: Alles auswählen
cp /usr/share/liquidprompt/debian.theme ~/.config/liquidprompt.theme
Code: Alles auswählen
LP_COLOR_USER_ALT="$YELLOW"
LP_COLOR_USER_ROOT="$BOLD_RED"
Code: Alles auswählen
LP_MARK_DEFAULT="❯"
LP_COLOR_PATH="$BOLD_BLUE"
Code: Alles auswählen
# source /usr/share/liquidprompt/debian.theme
source ~/.config/liquidprompt.theme
Was mir an Liquidprompt auch gefällt ist, dass es wirklich sehr einfach aufgebaut ist.
Effektiv ist es ein einzelnes Shell-Skript, das unter /usr/share/liquidprompt/liquidprompt liegt.
Entsprechend kann man diese Datei gut kopieren, anpassen und dann über ~/.bashrc bzw. ~/.zshrc den eigenen Liquidprompt laden.
Für weitere Anpassungen ist die Dokumentation sehr hilfreich:
https://liquidprompt.readthedocs.io/en/stable/
Deaktivieren
Ich habe dies zwar selbst noch nie benötigt, aber liquidprompt lässt sich auch temporär abschalten:
Code: Alles auswählen
liquidprompt_off
Code: Alles auswählen
liquidprompt_on
Fazit
Wer seinen Prompt bis jetzt noch nicht individualisiert hat, hat mit Liquidprompt ein einfaches Tool, das out-of-the-box gute Arbeit verrichtet.
Zudem lässt es sich einfach erweitern und an alle Wünsche anpassen.
ZSH und Liquidprompt sind aus meiner Sicht ein geniales Team. Zu ZSH könnte ich mittlerweile sehr viel erzählen, allerdings würde dies für heute definitiv den Rahmen sprengen.
Nun, ich wünsche Euch viel Freude im Terminal und schöne Weihnachtstage.