AnB-Networkz

Die Farben der Technik

Main menu

Skip to primary content
Skip to secondary content
  • Home
  • Über diese Seite
  • Datenschutz

Tag Archives: bashrc

“screen” Sitzung beim Login über SSH starten oder fortsetzen

Posted on 31. Oktober 2011 by Andre

Screen, ein kleines Programm um mehrere virtuelle Terminals in einer bestehenden Sitzung zu starten ist gerade in Verbindung mit SSH sehr nützlich. Bricht zum Beispiel während der Installation von Updates die SSH Sitzung ab, läuft screen trotzdem weiter und kann nach dem Wiederaufbau der SSH Verbindung neu verbunden werden. Alle Prozesse innerhalb der screen Sitzung bzw. der im virtuellen VT100 Terminal gestarteten Shell laufen ohne Unterbrechung weiter.

Leider vergisst man meist bei Arbeiten “die mal schnell” erledigt werden sollten eine Screen-Sitzung z starten. Interessanterweise brechen auch genau dann immer die SSH Verbindungen ab. Murphy lässt grüßen ;) . Also sollte man nicht lange nachdenken ob man eine screen-Sitzung startet sondern sollte es einfach nur tun ;) . Und das am besten automatisch beim Anmelden über SSH.

Einige schreiben hier immer wieder sehr komplexe Scripte oder starten screen vom SSH Daemon. Ich persönlich finde das alles überflüssig. Eigentlich muss nur geprüft werden ob die Shell über SSH gestartet wurde und ob die aktuelle Shell gerade in einem Screen-Term läuft. Letzteres ist wichtig um keine Schleife zu verursachen.

Für screen selbst sollten noch die Parameter für UTF-8 (auf allen neueren Distributionen Standard) und das automatische Fortsetzen bereits bestehender Sitzungen hinzugefügt werden. Der Parameter x für MultiDisplay/MultiUser Mode ist auch ganz nützlich.

Soll doch mal eine Sitzung ohne screen gestartet werden, sollte dies ebenfalls berücksichtigt werden. Eine interessanterweise sehr einfache Methode (echo / sleep) habe ich neulich auf einer LAN-Party gesehen (Thx Outi) und auch gleich so übernommen.

Aber nun zum Script. Der folgende Code führt hinzugefügt an die bashrc des Benutzers (oder Systems) genau diese Schritte aus.

if [[ -e $SSH_TTY ]] && [[ $TERM != screen ]]; then
        echo Starting or resuming screen session
        echo Press CTRL+C to cancel screen startup
        sleep 2
        screen -UxR;
fi
Posted in Allgemein, HowTo | Tagged bash, bashrc, linux, login, script, ssh, terminal
on google
Google+ Widgets

Blogroll

  • Buntespapier
  • Eistuetensmiley
  • News-Blog
  • Rolschter Rotzlöffel
  • Themepool

Links

  • Elefantenvarianten
  • finestpics.de
  • Frohe Ernte
Klarmachen zum Ändern!

Deine IP

IP

Topblogs.de

Blog Top Liste - by TopBlogs.de

Schlagwörter

1und1 altstadtfest ausfall bash blog bug dns email fehler fest fotos freizeit Fun google HowTo hp ihk internet linux lpic mcse meinvz microsoft netzwerk party php plugin pruefung rudolstadt script server Sicherheit software spam test tff treiber tv veranstaltung vista web weiterbildung windows wordpress zertifizierung

Archive

Proudly powered by WordPress