Screen
Aus Fedorawiki.de
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.
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 + noder Strg + a + <space> |
| Wechseln nach Fensternummer | Strg + a + <nummer> |
| Fensterübersicht | Strg + a + " |
| Screen in den Deamon-Mode schalten | Strg + a + doder Strg + a + Dfü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 + doder 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
- Screen-Homepage (englisch)
- Screen Tips im Gentoo-Wiki (englisch)
- Geschützte Session