Springe zum Inhalt

Terminal-Caption durch Bash aktualisieren

In einem Xterm oder Gnome-Terminal ist es nützlich, dass der aktuelle Host oder das Verzeichnis in der Caption des Teminalfensters angezeigt wird. Die Caption wird evtl. auch in der Taskleiste des jeweiligen Displaymanagers angezeigt, so dass man schnell weiß, welches Terminalfenster wo steht. Allerdings gibt es einige Programme, z.B. den Midnight-Commander, welche die Caption umstellen und beim Verlassen des Programms nicht wieder zurückstellen. In der Shell kann man mitlerweile ganz woanders sein, doch das Terminalfenster zeigt immer noch eine veraltetete Caption an.

Abhilfe bringt das Umsetzen der Bash-Variablen PS1, welche die Anzeige des Kommandoprompts definiert. In diese Variable kann man Steuerzeichen einfügen, die die Caption entsprechend setzen. In der Datei ~/.bashrc fügt man dazu am Ende folgende Kommandos ein:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '

case "$TERM" in
        xterm)
                PS1="$PS1\033]0;${USER}@${HOSTNAME}: ${PWD}\007"
                ;;
        *)
                ;;
esac

Eventuell muss die erste Zeile mit der aktuellen Definition von PS1 ersetzt werden (dieser hier stammt aus einer Linux-Mint Installation). Die von der Distribution gesetzte Sequenz für den Kommandoprompt kann vor der Modifikation mit

echo $PS1

angezeigt werden. Der nachfolgende Block dient zur Auswahl des jeweiligen Terminals. Auf der Konsole kann keine Caption gesetzt werden, also wird die Steuersequenz auch nur bei Terminals mit Typ xterm hinzugefügt.

Bei Bedarf kann der Codeblock leicht um andere Terminaltypen erweitert werden.