Screen Orientierungshilfe

June 12, 2014 | Linux 

Durch folgende Einstellung in der .screenrc bekommt man in seinem Screen eine Orientierungshilfe eingeblendet:

# Screen Nummer: %n
# Hostname: %H
# Screen Name: %t
# Datum: %D %d.%m.%Y %0c
caption always "%{= wK} (%n) %H : %t %{= ww}%-21=%{= .m}%D %d.%m.%Y %0c"

Der spannende Parameter ist %t. Da steht i.d.R. bash. Man kann diesen Screen mit Strg+a A umbenennen und mit Strg+a " bekommt man einen Überblick über die laufenden Screens. Das ist aber auf Dauer mühselig. Schöner wäre es, wenn das Feld automatisch auf mutt oder irssi wechseln würde, sobald man eines dieser Programme startet.

Und das geht:

Screen

Man erweitert seine .screenrc mit

shelltitle "$ |bash"

In die .bash_profile schreibt man folgende magische Escape Sequenz:

case $TERM in
    screen*)
        SCREENTITLE='\[\033k\033\\\]'
        ;;
    *)
        SCREENTITLE=''
        ;;
esac

Die PS1 Variable in der .bash_profile ergänzt man wie folgt:

# BOLD="\[\033[1m\]"
# RED="\[\033[1;31m\]"
# GREEN="\[\e[32;1m\]"
# BLUE="\[\e[34;1m\]"
# OFF="\[\033[m\]"
case $(whoami) in
    root)
		# Red Root Terminal
        export PS1=${SCREENTITLE}'\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]'
        ;;
    *)
		# user@host $
        export PS1=${SCREENTITLE}'\[\033[1m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'
        ;;
esac