Wer Linux System wie Debian, Raspbian (Raspberry Pi) etc. aus der Ferne administriert, hat mit verschiedenen Problemen zu kämpfen.
Wenn z.B. die Netzwerkverbindung abbricht, ist die Sitzung und alle mit ihr geöffneten Anwendungen beendet.
Der Befehl „screen“ ist geeignet, wenn man z.B. via SSH über Putty auf einem Linux System wie z.B. dem Raspberry Pi mit Raspbian arbeitet, und man z.B. ein Programm weiter laufen lassen möchte, auch wenn man in der Zwischenzeit die SSH Verbindung trennt oder wenn die SSH Verbindung zwischenzeitlich unterbrochen wird!
(z.B.: bei Update Vorgängen, laufenden Backups, aber auch bei Serveranwendungen, Serverdiensten, Gameservern etc..)
Und da ich mich in letzter Zeit wieder etwas mehr mit Linux etc. beschäftige, möchte ich hier einfach kurz festhalten wie „screen“ installiert wird, und wie es im groben funktioniert! (inkl. der wichtigsten Tastenkombinationen)
Notice
Als Beispiel verwende ich hier Raspbian, da ich mich in letzter Zeit damit vermehrt beschäftige!Die nachfolgenden Befehle funktionieren aber auch z,B, bei Debian und bei Ubuntu.
So installiert man „screen“ z.B. auf dem Debian basierten Raspbian System:
- Verbindung zum jeweiligen Linux System z.B. via SSH herstellen
- Anschließend aktualisiert man sicherheitshalber noch einmal die Paketlisten
sudo apt-get update
- Danach installieren wir „screen“ selbst:
sudo apt-get install screen
- Die nachstehende Frage muss mit „JA“ also „j“ bestätigt werden!
- Nach einigen Minuten, je nach System und Bandbreite des Internet Anschlusses ist „screen“ auch schon installiert!
Und so funktioniert Screen:
Wie bereits oben kurz angesprochen ist „screen“ ein Fenstermanager, also ein Programm zum öffnen von virtuellen Konsolen in einer Terminal-Sitzung.
Damit „screen“ aber überhaupt erst verwendet werden kann, muss es zu erst einmal gestartet werden. Dies geschieht mit:
screen
Anschließend kann z.B. mit screen -r Sitzung1
eine neue Sitzung erzeugt werden.
In dieser neuen Sitzung kann anschießend ein Programm dauerhaft oder über eine längere Zeit laufen, auch dann wenn man sich in der Zwischenzeit z.b. die SSH Verbindung trennt oder abbricht.
Als kleines Bespiel starten wir zum testen daher einfach einmal einen dauer Ping auf Google mit:
ping www.google.at
Danach verlassen wir die Sitzung so, dass der Dauer-Ping auf Google aber trotzdem weiterhin läuft.
Dies geschieht durch das drücken der Tastenkombination „STRG + A + D“
Important!
Ist man aber z.B. via Putty über SSH mit dem Linux System verbunden, so funktioniert „STRG + A + D“ natürlich nicht. Damit solche Tastenkombinationen auch wirklich über eine SSH-Verbindung funktionieren muss zusätzlich zu Beginn die „SHIFT“ Taste gedrückt werden!Sprich also „SHIFT + STRG + A + D“
Danach hat man die Verbindung zur virtuellen Konsole mit dem Namen „Sitzung1“ unterbrochen, aber der Dauer-Ping läuft weiterhin.
Man hat die Sitzung also „deatached“
Möchte man die Sitzung zu einem späteren Zeitpunkt wieder aufrufen so geschieht das mit Befehl:
screen -r Sitzung1
Danach verbindet sich „screen“ wieder zur vorhin „deatched“ Sitzung1″ und an sieht wieder den zuvor gestarteten Dauer-Ping auf Google 😉
➡ Da „screen“ so umfangreich ist, würde es den Rahmen sprengen hier alle Funktionen & Möglichkeiten zu erläutern bzw. zu erklären.
Hier aber noch eine Liste mit den wichtigsten Tastenkombinationen & den wichtigsten Befehlen:
- „STRG + A + C“ = zum erstellen eines neuen Fensters
- „STRG + A + D“ = zum trennen (deatch) der Verbindung zur aktuellen Sitzung
- „
screen -S Sitzung1
“ = Starten einer neuen Sitzung mit dem Namen „Sitzung1„ - „
screen -r
“ = Nimmt die Verbindung zur Sitzung wieder auf. Vorausgesetzt es ist nur eine Sitzung im Hintergrund aktiv. Sprich es hat nur eine Sitzung den Status „deatched„ - „
screen -r Sitzung1
“ = nimmt die Verbindung zur Sitzung mit dem Namen „Sitzung1“ wieder auf - „
screen -ls
“ listet alle Namen der laufenden Sitzungen auf - „
screen -d Sitzung1
“ = Trennt die Verbindung zur Sitzung mit dem Namen „Sitzung1“,
Dies ist z.B. hilfreich wenn man die Verbindung via SSH verloren hat, und man deswegen die Sitzung nicht trennen konnte 😉 - „
screen -rx Sitzung1
“ = Die Sitzung mit dem Namen „Sitzung1“ kann auch auf mehreren Computer gleichzeitig angezeigt werden. - „
screen -r Sitzung1 -X quit
“ = An die Sitzung mit dem Namen „Sitzung1“ einen Befehl senden und diesen ausführen. Hier wurde als Beispiel der Befehl „quit“ zum Beenden verwendet!
➡ Auch gibt es noch einen Unterschied zwischen Sitzungen und Fenstern!
Notice
Da dies alles hier aber den Rahmen sprengen würde, gibt es im deutschen Ubuntu Forum einen wirklich sehr guten Artikel zu „screen“, welcher auch mir gerade in der jetztigen Lernphase sehr hilft bzw. schon geholfen hat 😉Hier findet ihr den sehr hilfreichen Artikel.
Neueste Kommentare