Home / LinuxUser / 2001 / 01 / Zu Befehl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher Artikel

Manchmal kommen sie wieder – screen

Zu Befehl

01.01.2001 Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Haben Sie sich schon oft darüber geärgert, dass Sie zwischen vielen Terminals hin- und herschalten mussten, weil Sie mehrere Anwendungen gleichzeitig im Vordergrund laufen lassen wollten? Oder waren Sie sauer, weil ein Prozess, den Sie auf einem Rechner am Arbeitsplatz starten mussten, nicht rechtzeitig zu Feierabend fertig war, Sie aber die Ausgabe des Programms kontrollieren wollten? screen ist ein äußerst mächtiges Tool, das Ihnen viele Aufgaben erleichtern kann.

Bevor Sie das Programm zum ersten Mal starten, schauen Sie am besten nach, welche Umgebungsvariable für TERM (Terminalemulation) gesetzt ist, diese wird nämlich direkt beim Programmaufruf ausgewertet:

huhn@asteroid:~$ echo $TERM
 xterm
 huhn@asteroid:~$ export TERM=vt100
 huhn@asteroid:~$ echo $TERM
 vt100

Die Programmierer von screen weisen in ihrer Dokumentation ausdrücklich darauf hin, dass dieses Tool sich am besten mit vt100 versteht – überprüfen Sie das also am besten vorher. Mit screen können Sie bis zu zehn virtuelle Fenster in einem einzigen Xterm (oder auf der Konsole) simulieren. In all diesen Fenstern können Sie nun Programme laufen lassen – jedes der virtuellen Fenster ist dabei von den übrigen unabhängig. Tippen Sie einfach mal screen – nach einem kurzen Begrüßungstext gibt es den Hinweis, wie es weitergeht:

[Press Space or Return to end.]

Mit der Leertaste treten Sie also ein ins Reich der unendlichen Terminal-Weiten. Es stehen Ihnen eine Reihe von Kommandos zur Verfügung, die alle mit [Strg-a] beginnen: Halten Sie dazu die [Strg]- oder auf englischen Tastaturen die [Ctrl]-Taste gedrückt und tippen Sie [a]. Jetzt wartet das Programm auf die weiteren Befehlseingaben: [Strg-a] [?] gibt beispielsweise eine komplette Übersicht der Tastenbelegung (s. Tabelle 1).

Tabelle 1: Tastenkombinationen im <C>screen<C>

Tastaturkürzel Kommando Bedeutung
[Strg-a] [?] help Listet alle Tastenbelgungen auf.
[Strg-a] [c] screen Öffnet ein weiteres virtuelles Fenster.
[Strg-a] [Leertaste] next Wechselt zum nächsten Fenster, wiederholt man das Kommando, kann man durch alle Fenster "durchlaufen".
[Strg-a] [Strg-a] other Wechselt immer zwischen zwei Fenstern hin und her.
[Strg-a] [0...9] select n Wechselt zu Fenster mit Nr. n.
[Strg-a] [w] windows Zeigt in einer Zeile am unteren Rand für kurze Zeit, wieviel Fenster gestartet sind, das aktuelle wird mit * hervorgehoben.
[Strg-a] [a],[s] oder [q] meta/xoff/xon Sendet ein [Strg-a],[Strg-s] oder [Strg-q] direkt in das Fenster, braucht man für einige Programme (z. B. Emacs), die auch [Strg-a]-Kontrollsequenzen haben
[Strg-a] [x] lockscreen Sperrt den screen – nach einer gültigen Passworteingabe können Sie weiterarbeiten
[Strg-a] [H] log Loggt die Standardausgabe in eine Datei, abhängig von der Nummer des Fensters (1-10) heißt das Logfile screenlog.n, erneuter Aufruf von [Strg-a H] beendet das Mitschneiden
[Strg-a] [Esc] copy Wechselt in den Kopiermodus: Sollte keine Maus zum Markieren von Text vorhanden sein, kann man jetzt mit den Buchstaben h, j, k, l zur gewünschten Stelle auf dem Bildschirm gehen, eine Markierung mit der Leertaste setzen, dann zur nächsten Stelle gehen, wieder die Leertaste drücken, um in die "Zwischenablage" zu speichern. Mit [Strg-a] "]" (also [Strg-A] gefolgt von einer schließenden eckigen Klammer) fügt man den markierten Text übrigens ein, mit [Esc] bricht man die Aktion ab.
[Strg-a] [d] detach "Befreit" den screen, alle darin gestarteten Prozesse laufen weiter, aber das Programm verabschiedet sich vom Terminal: Nun kann man sich ausloggen. Mit screen -r kann der screen wieder aufgerufen werden (ausführliche Erklärung folgt im Text).
[Strg-a] [D] [D] pow_detach "Power Detach" – löst nicht nur den screen los, sondern loggt auch direkt aus dem Terminal aus.
[Strg-a] [K] kill Zerstört den ganzen screen – netterweise gibt es hier eine Sicherheitsabfrage: Really kill this window [y/n]

Out of the blue – screen!

Neben den ganzen Steuerungskommandos innerhalb der Fenster kann man das Programm natürlich auch mit verschiedenen Parametern beim Start versehen. Für den Fall, dass Sie screen mehrmals gestartet haben und nicht mehr wissen, wieviele und ob diese gerade aktiv sind, gibt es die Option -ls (steht für: -list):

huhn@asteroid:~$ screen -list
 There are screens on:
       1200.pts-10.asteroid    (Attached)
       1203.pts-14.asteroid    (Detached)

Hier sehen Sie einmal die Prozess-ID (pid), dann das virtuelle Terminal (tty), in dem der screen gestartet wurde, den Host (asteroid) und als letzte Information, ob er gerade aktiv ("attached") ist oder schlafen gelegt wurde ("detached"). Inaktive screens können mit screen -r [pid.tty.host] wiederbelebt werden. Die Angabe der Prozessnummer und des Terminals sind nur erforderlich, wenn mehrere screens inaktiv sind. Sie können sich die Sache wesentlich erleichtern, wenn Sie der Session direkt am Anfang einen Namen geben: screen -S petronella tauft Ihren screen auf den Namen "petronella". In der Übersicht heißt dieser dann: 1364.petronella – der Name ersetzt also Terminal und Host. Übrigens: Hat sich ein screen-Prozess einmal aufgehängt, können Sie diesen in der Übersicht am Statusflag "dead" erkennen. Sie werden ihn mit dem Parameter screen -wipe elegant los.

Wenn Sie einen schlafengelegten screen wiederbeleben, möchten Sie von Zeit zu Zeit zurückscrollen können, um die letzten Ausgaben laufender Programme zu betrachten. Standard für den Puffer sind 100 Zeilen. Dieses kann man mit Hilfe der Option -h zeilenanzahl ändern. Bei einem screen -h 1000 können Sie nun also 1000 Zeilen zurückgehen. Um sich in diesem Puffer zu bewegen, gibt es eine Reihe von Tastaturkommandos. Dazu begeben Sie sich zunächst in den Copy/Scrollback-Modus (s. Tabelle 1, [Strg-a] [Esc]). Wenn Sie den Editor vi bereits kennen und nutzen, sind Ihnen die Kommandos zur Cursor-Bewegung sicher vertraut. Andernfalls finden Sie in Tabelle 2 eine Kurzreferenz über die Befehle.

Tabelle 2: Die wichtigsten Kommandos zur Navigation im Copy/Scrollback-Modus

Kommando Bewegung
h, j, k, l bewegen den Cursor Zeile für Zeile oder Spalte für Spalte, links, rechts, rauf, runter.
0, $ zum äußersten linken oder rechten Ende der Zeile.
H, L, M bewegt den Cursor in der Spalte links außen nach ganz oben, nach ganz unten oder in die Mitte.
+, - Zeile hoch oder runter.
G springt ans Ende des Puffers.
g springt an den Anfang des Puffers.
w,b,e wortweise springen: zurück, vor und ans Wortende.
Tip a friend    Druckansicht Bookmark and Share
Kommentare

3183 Hits
Wertung: 150 Punkte (12 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...