Bash Powerline

Erinnerung: Wenn die Aufwertung der gewünschten Shell einfach mal schnell gehen soll, dann bitte zum Projekt Starship.rs greifen.

Die Umsetzungen in Shells mit Powerline (oder auch Powerlevel) Techniken ist viel aufwändiger aber eben auch mächtiger.

Die Bash (als Shell-Beispiel) hier also in Powerline-schön und auch noch superfunktionell für Versionsverwaltung Git:

Bash mit Powerline-Go und Git-Unterstützung

Bash mit Powerline-Go und Git-Unterstützung

Und selbstverständlich lassen sich auch die anderen Shells (zsh, fish, dash, …) auf diese Art verschönern.

Anleitung nach

Hinweis

Die genauen Anleitungsschritte können je nach Distro leicht abweichen.

Wir benötigen Git und die Powerline-Fonts: (folgende Hinweise: Debian 9 / 10)

apt intall fonts-powerline git

Wir benötigen ebenfalls golang-go - also die moderne Skriptsprache Go:

Z.B. Internet-Recherche mit debian 10 go install suchen oder einfach mal Paketsuche golang-go direkt in Distros (Anm.: Aktualität GO-Versionen checken) und mit go version Funktionalität analysieren.

Hinweis

In Ubuntu bzw. Ubuntu-Derivaten reicht ein sudo apt install golang-go.

Für Debian(s) wird es etwas aufwändiger und führt zum Beispiellink mit Anleitungen nach Internetrecherche (für Debian 9/10): https://linuxize.com/post/how-to-install-go-on-debian-10/ schlägt vor:

Alle Arbeiten im Standardverzeichnis /home/username (also $HOME)

# Download / Bereitstellung eines Go-Tar.Gz-Archivs
# Old/Google-DL: wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
# Aktuelles Go von golang.org:
wget https://golang.org/dl/go1.15.6.linux-amd64.tar.gz

# Archiv in /usr/local entpacken - mit root-Rechten
tar -C /usr/local -xzf /home/username/go1.15.6.linux-amd64.tar.gz

# in .profile oder .bashrc des Users eintragen - Pfad zu GO-Binarys komplettieren
export PATH=$PATH:/usr/local/go/bin

# Testen - nach Bash-Aktualisierung mit z.B. . .bashrc oder logout/login
go version

Installation/Bereitstellung der Go-Techniken im $HOME-Dir des Users (benutzt Technik von git):

# ===========================
# Powerline-Go mit golang-go
# ===========================
# in case of problems with https and/or Security stuff:
# git config --global http.sslVerify false
# and:
# go get -u -insecure github.com/justjanne/powerline-go
# Default stuff:
# ==============
# Remember: install the powerline-fonts aka fonts-powerline and the go-stuff
# https://awesomeopensource.com/project/justjanne/powerline-go
# https://github.com/justjanne/powerline-go
# folder ~/go creating with (needs go and git):

go get -u github.com/justjanne/powerline-go

Kurzanleitung

Anm.: go und git vorhanden/installiert/getestet:

go get -u github.com/justjanne/powerline-go (im Home-Dir des Users)

Und dann folgt noch der Einbau der Powerline-Go-Techniken in der ~/.bashrc zur Nutzung:

export GOPATH="$HOME/go"

function _update_ps1() {
    PS1="$($GOPATH/bin/powerline-go -error $? -newline -theme solarized-dark16 -shell bash -modules-right time)"
}

if [ "$TERM" != "linux" ] && [ -f "$GOPATH/bin/powerline-go" ]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

Und wie immer: Bash-Umgebung (z.B.) mit . ~/.bashrc aktualisieren!