Pimp my screen

Eines der must have tools im *nix Umfeld ist ohne Zweifel „screen„. Allerdings haben mich einige Dinge immer etwas genervt:

  • Windows: Das schöne Feature verschiedener Fenster innerhalb einer Screen Sitzung hat leider diverse Hacken: In welchem Fenster bin ich gerade überhaupt? Wieviele Windows gibts es eigentlich?
  • Titles: Windows können mit Namen versehen werden. Da man im Administrationsalltag auf X verschiedenen Servern eingeloggt ist, wäre es doch schön anhand der screen titles erkennen zu können, auf welchem Host man im entsprechenden Fenster eingeloggt ist.
  • SSH Agent: Wie kommt man an einen laufenden ssh-agent der im Screen läuft und von allen Screen Windows aus nutzbar ist.
  • Irgendwie lebte ich mit diesen Problemchen und war zu faul mal eine Lösung zu suchen. Aber dann habe ich mich durchgerungen!

    Problem: Windows

    Die Lösung hierzu kam von meinem Kollegen Hombertho:
    Man füge in die .screenrc folgendes ein:

    caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"

    Schon hat man eine schöne „Taskbar“ mit allen vorhanden Fenstern sowie farblicher Markierung des aktuell aktiven Fensters im unteren Bereich des Screens. 10014

    HowTo dynamic Titles:

    Alle Hosts die diesen Code in der .bashrc oder .bash_profile haben aktualisieren die screen titles beim einloggen auf $user@$host:

    function rename_screen_tab () { echo -ne "x1bk$@x1b\"; return 0; }
    if [[ "$TERM" = screen* ]]; then
    echo
    PROMPT_COMMAND="rename_screen_tab ${USER}@${HOSTNAME%%.*}; $PROMPT_COMMAND"
    fi

    Der Host auf dem screen läuft sollte natürlich ebenfalls den Code in der .bashrc haben. Sonst wird der Screen Title beim Ausloggen nicht wieder zurück geändert.

    SSH Agent für screen:

    Um dieses zu bewerkstelligen hilft ein Screen Window welches immer vorhanden sein muss und den ssh-agent Prozess vorhält.
    .screenrc:

    setenv SSH_AUTH_SOCK $HOME/.screen-ssh-agent
    screen -t agent bash -c "ssh-agent -a $SSH_AUTH_SOCK $SHELL; ssh-add;"

    3 thoughts on “Pimp my screen

    1. ich bin jetzt eigentlich kein großer fan von Screen. Hab mich nie wirklich damit befasst und kam daher auch nie damit zurecht. Manche Anwendungen waren aber dennoch super praktisch, aber für den täglichen Gebrauch reichten mir einzelne Sessions immer aus… Jetzt aber, mit deinen Tricks, das macht die Sache schon interessanter! 🙂

    Schreibe einen Kommentar