ScreenMatrix
Aus Wikiants
Inhaltsverzeichnis |
[Bearbeiten] Spass mit Screen
screen ist ein hilfreiches Programm, mit dem du innerhalb einer Terminal-Sitzung mehrere virtuelle Terminals nutzen kannst. Beispielsweise musst du also nur eine ssh-Sitzung eröffnen und kannst trotzdem entfernte Programme auf mehreren Konsolen gleichzeitig ausführen.
Besonders angenehm ist es auch, in einer screen-Sitzung auf einem entfernten Rechner ein langwieriges Programm zu starten (z.B. einen schönen neuen Kernel kompilieren), da du zwischenzeitlich die screen-Konsole abhängen und die Netzwerkverbindung trennnen kannst. Später kannst du dich einfach wieder in die alte Sitzung einhängen.
[Bearbeiten] es geht los
screen
einmalig starten, dann ist man in der Matrix, ansonsten geht auch:
screen vi arsch
dies öffnet einen vi innerhalb der neuen Matrix
Falls dich der Start-Info-Bildschirm stört, dann kannst du ihn per Option startup_message in der /etc/screenrc unterdrücken.
Um der Sitzung einen Namen zu geben, kann der Parameter -S sitzungsname verwendet werden. Dies gilt sowohl für die Erzeugung, als auch für einen späteren Zugriff auf die Sitzung.
[Bearbeiten] Tastenkombinationen
"Ctrl-a" gibt dir die Macht über die Konsolen ...
C-a ?
zeigt wichtige Kürzel
C-a c
öffnet ein neues Fenster
C-a w
zeigt alle offenen Fenster
C-a 0
springt zum ersten Fenster, 1 zum zweiten usw.
C-a space
schaltet die Fenster einzeln durch
C-a A
benennt das aktuelle Fenster um
C-a a
schaltet zwischen zwei Fenstern hin und her
C-a h
schreibt den aktuellen Bildschirminhalt in hardcopy.N
C-a H
beginnt/beendet das Protokollieren in die Datei screenlog.N
C-a C-k
schließt das aktuelle Fenster
[Bearbeiten] Ausklinken aus einer screen-Sitzung
C-a d
detach, trennt dich von der Matrix (sie läuft im Hintergrund weiter)
C-d
(EOF - gleichbedeutend mit exit) - die aktuelle Shell wird geschlossen und damit auch das aktuelle Fenster - mit dem Schließen des letzten Fensters wird screen beendet
[Bearbeiten] Einhängen in eine alte Sitzung
screen -r
klappt, falls du dich per detach freiwillig aus der Sitzung ausgehängt hast
screen -x
damit hängst du dich in eine laufende Sitzung (falls die Netzwerkverbindung zwischendurch unterbrochen wurde oder du gleichzeitig mit anderen Menschen im selben Fenster arbeiten willst)
screen -d -r
trennt eine screen-Sitzung von ihrer ursprünglichen Konsole und verbindet sie anschließend mit der aktuellen Konsole
[Bearbeiten] Quelle
[Bearbeiten] Einschleusen von Tastatureingaben
screen [-S screenname] -X readbuf [DATEI]
liest den Inhalt von DATEI (Standard: /tmp/screen-exchange) in den internen Zwischenspeicher der screen-Sitzung
screen [-S screenname] -X paste \.
sendet den Inhalt dieses Zwischenspeichers in das aktuelle Fenster der screen-Sitzung (eigentlich ist es nur paste ., allerdings führt die bash ohne backslash eine Substitution durch)
Beispielskript
das folgende Skript sendet seine Parameter als Zeichen in das screen-Sitzung (diese kann mit -S screenname gewählt werden)
#!/bin/sh TMP_FILE=/tmp/screen-exchange-$$ [ "$1" = "-S" ] && shift && SC_OPTS="$SC_OPTS -S $1" && shift echo -en "$@" > "$TMP_FILE" screen $SC_OPTS -X readbuf "$TMP_FILE" screen $SC_OPTS -X paste \. rm "$TMP_FILE"
[Bearbeiten] Quelle
[Bearbeiten] Lizenz
Alle Inhalte dieses Wiki stehen unter der Creative Commons Lizenz: Namensnennung - Weitergabe unter gleichen Bedingungen. Du darfst den Inhalt vervielfältigen, verbreiten und verändern unter Verwendung identischer Lizenzbedingungen. Mitschreibende erklären sich durch ihre Teilnahme an diesem Wiki damit einverstanden, dass ihre Texte ebenfalls dieser Lizenz unterstehen.

