Screen

Aus netcup Wiki
Zur Navigation springen Zur Suche springen

Screen ist ein Tool welches uns die Möglichkeit bietet mit einem SSH Zugang und einer aktiven Konsole mehrere Programme parallel zu betreiben.

Man kann es sich wie einen Fernseher vorstellen. Es laufen parallel bis zu 300 Programme, und man schaltet immer dorthin, wo man gerade hin möchte.


Screen einrichten

Screen kann man relativ schnell und Problemlos unter Debian einrichten. Hierfür reichen die beiden folgenden Befehle.

apt-get update && apt-get upgrade
apt-get install screen

Screen Befehle

Die wichtigsten Parameter die wir benötigen sind der Start von screen, einige Optionen für den jeweiligen Screen den wir erstellen, sowie ein leicht zu merkender Name, damit wir später wieder in dieses „Fenster“ zurückschalten können.

Screen starten kann man relativ simpel mit

screen

Die für uns wichtigsten Parameter

ParameterInformation
-ADie Anzeigegröße des Screens passt sich dem derzeitigen Fenster an
-mDie neue Sitzung wird unabhängig gestartet, also egal ob man sich auf der normalen Konsole des Servers befindet, oder bereits in einer Screen Sitzung
-dStartet die Sitzung sofort im Hintergrund, man bekommt das Sitzungsfenster also nicht zu Gesicht
-SWir können der Sitzung einen Namen geben, um später vereinfacht diese wieder aktiv zu schalten

Beispiel

Wir starten nun mal eine Screen Sitzung mit dem Namen test welche das Script testscript.sh ausführt.

screen -AmdS test ./testscript.sh

Wir dröseln das Gebilde nochmal auf:

screen → startet eine Screen Sitzung -AmdS → sorgt dafür das die Sitzung sofort im Hintergrund gestartet wird, das wir ihr einen Namen geben (test) und da diese Sitzung unabhängig gestartet wird. test → Name der Screen Sitzung ./testscript.sh → Befehl der innerhalb der Sitzung ausgeführt wird.


Umgang mit Sitzungen

Haben wir eine Sitzung wie oben gestartet sehen wir diese ja nicht mehr, da sie im Hintergrund läuft. Nun gibt es 2 nützliche Befehle.

screen -ls
screen -x sitzungsname oder PID

screen -ls listet uns alle laufenden Sitzungen auf, und zeigt uns die PID unter der die Sitzungen laufen, sowie deren Namen, wenn einer vergeben wurde. screen -x sitzungsname oder PID aktiviert die Sitzung und wir gelangen in deren „Fenster“, bzw. bekommen Sie als aktive Umgebung angezeigt.

Unser Testscreen von oben könnten wir also mit

screen -x test

wieder aufrufen.

Um das Fenster bzw. die Sitzung wieder in den Hintergrund zu schalten, benutzen wir die Tastenkombination Str+A+D. D steht für „detach“, also abtrennen (frei übersetzt deaktivieren).

Wenn wir innerhalb des aktivierten Fensters exit eingeben, beenden wir die gesamte Screen Sitzung.



Beispiele

Starten eines Counter-Strike Servers unter Screen

Nun können wir mit folgendem Befehl einen CSS Server innerhalb einer Screensitzung starten.

screen -AmdS cssserver ./srcds_run -console -game cstrike +map de_dust -maxplayers 16 -autoupdate