Screen

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der Tipps & Tricks Sammlung

screen ist ein Terminal Manager mit VT100/ANSI Terminal Emulation. Das bedeutet zusammengefasst, dass screen es ermöglicht, in einer bestehenden Shell-Session durch Tastenkombinationen erreichbare Terminals öffnen. Diese können auch verlassen und später wieder aufgerufen werden.

Inhaltsverzeichnis

Installation

screen kann unter Fedora direkt mit yum, PackageKit oder yumex installiert werden, da es im Repository von Fedora zur Verfügung steht.

[root]# yum install screen


Screen verwenden

Screen-Sessions starten und wiederholen

Der Hauptnutzen von screen besteht darin, dass Screen-Sessions vom Terminal gelöst werden können. Das hat den Effekt, dass diese Sessions, und damit verbunden die darin laufenden Prozesse, nicht beendet werden, wenn die dazugehörende Eltern-Shell geschlossen wird. So kann man sich mehrfach hintereinander auf Rechnern einloggen, und Prozesse ununterbrochen fortlaufen lassen, obwohl man die aufgerufene Shell immer wieder schließen muss.

Das Aufrufen einer Screen-Session geschieht mit dem Befehl

screen

Damit bekommt man eine neue Shell. Startet man nun hier einen zeitraubenden Befehl wie

ping www.google.de

dann kann man die Session mit der Tastenkombination

Strg + a + d

verlassen, ohne den Prozess zu unterbrechen. Auf dem Eltern-Terminal erscheint dann nur der Hinweis

[detached]

Mit

screen -r

kann man später, auch aus einer anderen Shell heraus, die Screen-Session wiederholen.

Man kann darüber hinaus auch mehrere Screen-Instanzen starten - beim Aufruf von screen -r muss dann gewählt werden, welche Instanz man aufrufen möchte.

Zugriff mehrerer auf eine Screen-Session

Man kann auf eine Screen-Session auch von mehreren Terminals aus zugreifen. Mit dem Befehl

screen -x

klinkt man sich in eine bereits laufende Screen-Session ein. Dabei muss man aber der gleiche Nutzer sein wie der, dem die Screen-Session gehört. Der Vorteil liegt darin, dass Änderungen in einem der Screen-Sessions live bei den anderen eingeklinkten Nutzern angezeigt wird. Auf diese Art und Weise kann man z.B. auch Lehr-Sessions am Terminal abhalten.

Weitere Sessions

In Screen können, wie bereits angedeutet, mehrere Terminals parallel geöffnet werden. Mit dem Kommando

Strg + a + c

wird eine neue Session aufgerufen.

Man kann durch die einzelnen geöffneten Terminals navigieren, in dem man entweder mit

Strg + a + <space>

das nächste Terminal aufruft, mit

Strg + a + p

und

Strg + a + n

das vorherige ("previous") oder nächste ("next") Terminal aufruft, oder sich eine Liste aller Terminals anzeigen lässt mit

Strg + a + "

Darüber hinaus können gezielt Termianls aufgerufen werden, wenn deren Nummer bekannt ist:

Strg + a + <nummer>

Um Screen zu verlassen und alle darin laufenden Programme zu schließen, kann man entweder alle laufenden Terminals in Screen mit den üblichen Befehlen (logout, exit, Strg + d) nacheinander beenden, oder aber alle gleichzeitig mit dem Befehl

Strg + a + :quit

zum Schließen zwingen.

Screen im Screen

In manchen Situationen kann es hilfreich sein, in einem bestehenden Screen einen weiteren aufzumachen. auf den ersten "außeren" Screen greift man normal mit Strg + a zu. Den inneren Screen erreicht man mit Strg + a + a + Befehl.

Kopieren und Einfügen, Scrollen

Zwischen Screen-Terminals kann auch kopiert und eingefügt werden, außerdem ist es auch möglich, zu scrollen.

Der Befehl

Strg + a + <esc>

friert dafür die Terminal-Ausgabe ein und lässt den Nutzer mit den Pfeiltasten navigieren. Zum Kopieren navigiert man so bis zum ersten Zeichen des zu markierenden Bereichs, drückt <enter> oder <space>, navigiert zum letzten Zeichen des Bereich, drückt ebenfalls <enter> oder <space> und wechselt zu dem Terminal, wo man die kopierten Zeilen einfügen möchte. Der Befehl

Strg + a + ]

fügt die Zeichen dann dort an gewünschter Stelle ein.

Um den Scroll-Modus ohne Kopieren wieder zu verlassen, drückt man <esc>.

Bildschirm aufteilen

Screen kann den Bildschirm auch in mehrere Bereiche teilen, und dort verschiedene Terminals anzeigen. Der Befehl

Strg + a + S

teilt den vorhandenen Bereich in zwei Areale ein. Zwischen diesen kann mit dem Befehl

Strg + a + <tab>

gewechselt werden. Die Größe der einzelnen Bereiche kann mit

Strg + a + :resize 13

eingestellt werden, wobei die Nummer (hier die 13) die Anzahl der Zeilen angibt.

Bildschirm sperren

Eine Screen-Session kann mit

Strg + a + x

gesperrt werden. Zum Entsperren wird dann das Nutzer-Passwort benötigt. Bei dieser Methode ist jedoch Vorsicht geboten: die Screen-Session kann noch immer mit dem Befehl screen -x von einem anderen Terminal aus aufgerufen werden!


Die Funktionen im Überblick

Funktion Befehl
Eine screen-Session starten
screen
Ein neues Terminal darin öffnen
Strg + a + c
Zum vorherigen Terminal wechseln
Strg + a + p
Zum nächsten Terminal wechseln
Strg + a + n
oder
Strg + a + <space>
Wechseln nach Fensternummer
Strg + a + <nummer>
Fensterübersicht
Strg + a + " 
Screen in den Deamon-Mode schalten
Strg + a + d
oder
Strg + a + D
für das gleichzeitige Schließen der Eltern-Shell.
Screen-Session wiederholen
screen -r
In eine bestehende Screen-Session einklinken
screen -x
Eine abgebrochene screen-Session wiederholen, oder, falls nicht vorhanden, eine neue starten
screen -R
Screen beenden
Strg + d 
oder auch
exit
Screen mit allen enthaltenen Terminalprozessen beenden
Strg + a + :quit
Screen in den Kopier/Scroll-Modus versetzen
Strg + a + <esc>
, um Modus zu verlassen
<esc>
Anfangs-/End-Zeichen zum Kopieren auswählen
<space>
oder
<enter>
Kopie einfügen
Strg + a + ]
Screen-Bildschirm aufteilen
Strg + a + D
Zwischen Bildschirmbereichen wechseln
Strg + a + <tab>
Größe von Bildschirmbereichen einstellen
Strg + a + resize: <Zeilengröße>


Siehe auch


Weblinks