Screen: Unterschied zwischen den Versionen

Aus UUGRN
K (dieverse kleine korrekturen, innerwikilinks)
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
'''screen''' ist ein nützliches Tool für Textterminal-Sessions, etwa ssh-Logins oder serielle Verbindungen.
+
'''screen''' ist ein nützliches Tool für [[Terminal|Textterminal]]-Sessions, etwa [[ssh]]-Logins oder serielle Verbindungen.
 
Wird so eine Verbindung unterbrochen, etwa durch den berühmten 24h-Disconnect bei DSL, beendet sich auch das in dieser Sitzung laufende Programm auf dem Remotehost. Screen stellt eine Umgebung zur Verfügung, die Programme weiterlaufen lässt. Darüber hinaus kann man innerhalb einer Session mehrere Terminals aufmachen und zwischen Ihnen umschalten.
 
Wird so eine Verbindung unterbrochen, etwa durch den berühmten 24h-Disconnect bei DSL, beendet sich auch das in dieser Sitzung laufende Programm auf dem Remotehost. Screen stellt eine Umgebung zur Verfügung, die Programme weiterlaufen lässt. Darüber hinaus kann man innerhalb einer Session mehrere Terminals aufmachen und zwischen Ihnen umschalten.
  
Zeile 13: Zeile 13:
 
  | -d  || detach || Trennt die Screen-Session von einem anderen Terminal. Ist erforderlich, um eine Session ''rüber zu holen''.
 
  | -d  || detach || Trennt die Screen-Session von einem anderen Terminal. Ist erforderlich, um eine Session ''rüber zu holen''.
 
  |-
 
  |-
  | -r  || reattach || Verbindet eine im Hintergrund liegende screen-session mit dem aktuellen Terminal. Nützlich in Verbindung mit -d.
+
  | -r  || reattach || Verbindet eine im Hintergrund liegende Screen-Session mit dem aktuellen Terminal. Nützlich in Verbindung mit -d.
 
  |-
 
  |-
 
  | -R  || reattach || Verbindet eine vorhandene Session oder legt sie neu an.
 
  | -R  || reattach || Verbindet eine vorhandene Session oder legt sie neu an.
Zeile 25: Zeile 25:
 
  $ screen -dr
 
  $ screen -dr
  
; Screen-Session egal wie rüberholen und andere Remote-Shell ausloggen oder falls nicht vorhanden dann neu starten:
+
; Screen-Session egal wie rüberholen und andere Remote-[[Shell]] ausloggen oder falls nicht vorhanden dann neu starten:
 
  $ screen -DR
 
  $ screen -DR
  
Zeile 51: Zeile 51:
 
  | S  || Das Terminal in 2 Bereiche splitten.
 
  | S  || Das Terminal in 2 Bereiche splitten.
 
  |-
 
  |-
  | <PIPE>|| Das Terminal vertikal splitten (ab Version 4.00.03jw4 (FAU) 2-May-06)
+
  | &#x01C0; || Das Terminal vertikal splitten (ab Version 4.00.03jw4 (FAU) 2-May-06)
 
  |-
 
  |-
 
  | Ctrl-Tab|| wechseln in den "neuen Bereich" nach dem splitten
 
  | Ctrl-Tab|| wechseln in den "neuen Bereich" nach dem splitten
Zeile 59: Zeile 59:
 
  | A  || dem Fenster einen Namen zuweisen
 
  | A  || dem Fenster einen Namen zuweisen
 
  |}
 
  |}
FIXME: Ich habe keine Ahnung wie ich das Pipe-Symbol hier einfügen kann. [TrickSTer]
 
  
 
== Optionen für die ~/.screenrc ==
 
== Optionen für die ~/.screenrc ==
 
[[Bild:Screen_sky.jpg|thumb|200px|Eine Beispiel-Session von GNU-Screen]]
 
[[Bild:Screen_sky.jpg|thumb|200px|Eine Beispiel-Session von GNU-Screen]]
In der ~/. screenrc kann der User seine eigenen Einstellungen vornehmen. Folgende Einträge machen das Leben leichter:
+
In der ~/.screenrc kann der User seine eigenen Einstellungen vornehmen. Folgende Einträge machen das Leben leichter:
  
 
;Hiermit kann man die nervige Startmeldung loswerden:
 
;Hiermit kann man die nervige Startmeldung loswerden:
Zeile 95: Zeile 94:
 
;Das nervige C-a x loswerden (lock screen). Stört auf Remote-Shells bei pubkey-only Login...:
 
;Das nervige C-a x loswerden (lock screen). Stört auf Remote-Shells bei pubkey-only Login...:
 
  bind x
 
  bind x
 +
 
[[Kategorie:Tool]]
 
[[Kategorie:Tool]]

Aktuelle Version vom 31. Dezember 2009, 01:13 Uhr

screen ist ein nützliches Tool für Textterminal-Sessions, etwa ssh-Logins oder serielle Verbindungen. Wird so eine Verbindung unterbrochen, etwa durch den berühmten 24h-Disconnect bei DSL, beendet sich auch das in dieser Sitzung laufende Programm auf dem Remotehost. Screen stellt eine Umgebung zur Verfügung, die Programme weiterlaufen lässt. Darüber hinaus kann man innerhalb einer Session mehrere Terminals aufmachen und zwischen Ihnen umschalten.

Dieser Artikel soll nur die allerwichtigsten Funktionen zeigen, die vollständige Dokumentation ist die manpage screen(1).

Aufrufparameter[Bearbeiten]

Option Bedeutung Wirkung
-d detach Trennt die Screen-Session von einem anderen Terminal. Ist erforderlich, um eine Session rüber zu holen.
-r reattach Verbindet eine im Hintergrund liegende Screen-Session mit dem aktuellen Terminal. Nützlich in Verbindung mit -d.
-R reattach Verbindet eine vorhandene Session oder legt sie neu an.

Beispiele[Bearbeiten]

neue Screen-Session starten
$ screen
Screen-Session von einem anderen Terminal rüberholen
$ screen -dr
Screen-Session egal wie rüberholen und andere Remote-Shell ausloggen oder falls nicht vorhanden dann neu starten
$ screen -DR

Wichtige Funktionen[Bearbeiten]

Standardmäßig werden alle Hotkeys über Strg-A' / Ctrl-A bzw. ^A eingeleitet. Der eigentliche Hotkey wird nach ^A gedrückt.

Key Aktion
c Neues Fenster öffnen
0-9 zu Fenster Nummer n wechseln
n zum naechsten Fenster wechseln
" Fenster auswählen
N aktive Fensternummer anzeigen
w Fensterliste anzeigen
? alle Hotkeys anzeigen
S Das Terminal in 2 Bereiche splitten.
ǀ Das Terminal vertikal splitten (ab Version 4.00.03jw4 (FAU) 2-May-06)
Ctrl-Tab wechseln in den "neuen Bereich" nach dem splitten
: der Commandline-Modus. Mit resize -10 macht man den aktiven Bereich um 10 Zeilen kleiner.
A dem Fenster einen Namen zuweisen

Optionen für die ~/.screenrc[Bearbeiten]

Eine Beispiel-Session von GNU-Screen

In der ~/.screenrc kann der User seine eigenen Einstellungen vornehmen. Folgende Einträge machen das Leben leichter:

Hiermit kann man die nervige Startmeldung loswerden
startup_message off
Wenn man im "Split-Window-Modus" arbeitet kann man hiermit ein angenehmeres Farbschema einstellen
caption string '%?%F%{.c.}%?%3n %t %?[%h]%?:%{= .kw}'
Die Anzahl der Fenster und deren Benennung konstant anzeigen
hardstatus alwayslastline "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H  %d/%m %c"
Dito, aber mit vollem Datum und loadavg vom aktuellen Host
hardstatus alwayslastline "%{Yb}%-w%{} %{kr} %n %f %t %{-} %+w %=%H %{kg} %l %{-} %Y/%m/%d %c "

0 bash    1 $ bash    2 bash        notebook  0,04 0,10 0,07  2008/03/25  1:44 

Das nervige C-a x loswerden (lock screen). Stört auf Remote-Shells bei pubkey-only Login...
bind x