Screen: Unterschied zwischen den Versionen

Aus UUGRN
K (dieverse kleine korrekturen, innerwikilinks)
 
(14 dazwischenliegende Versionen von 3 Benutzern 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 5: Zeile 5:
  
 
== Aufrufparameter ==
 
== Aufrufparameter ==
;-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.
+
{| {{prettytable}}
;-R / reattach: Verbindet eine vorhandene Session oder legt sie neu an.
+
! 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 ===
 
=== Beispiele ===
Zeile 16: 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
 
  
 
== Wichtige Funktionen ==
 
== Wichtige Funktionen ==
 
Standardmäßig werden alle Hotkeys über '''Strg-A''' / ''Ctrl-A''' bzw. '''^A''' eingeleitet. Der eigentliche Hotkey wird nach ''^A'' gedrückt.
 
Standardmäßig werden alle Hotkeys über '''Strg-A''' / ''Ctrl-A''' bzw. '''^A''' eingeleitet. Der eigentliche Hotkey wird nach ''^A'' gedrückt.
  
;c: Neues Fenster öffnen
+
{| {{prettytable}}
;0-9: zu Fenster Nummer ''n'' wechseln
+
! Key
;": Fenster auswählen
+
! Aktion
;N: aktive Fensternummer anzeigen
+
|-
;w: Fensterliste anzeigen
+
| c   || Neues Fenster öffnen
;?: alle Hotkeys anzeigen
+
|-
;S: Das Terminal in 2 Bereiche splitten.
+
| 0-9 || zu Fenster Nummer ''n'' wechseln
;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.
+
| n  || zum naechsten Fenster wechseln
;A: dem Fenster einen Namen zuweisen
+
|-
 +
| "   || 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 ==
 
== Optionen für die ~/.screenrc ==
 +
[[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:
+
startup_message off
 
 
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:
+
;Wenn man im "Split-Window-Modus" arbeitet kann man hiermit ein angenehmeres Farbschema einstellen:
 +
caption string '%?%F%{.c.}%?%3n %t %?[%h]%?:%{= .kw}'
  
hardstatus alwayslastline "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H  %d/%m %c"
+
;Die Anzahl der Fenster und deren Benennung konstant anzeigen:
 +
hardstatus alwayslastline "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H  %d/%m %c"
  
[[Bild:Screen_sky.jpg|Eine Beispiel-Session von GNU-Screen]]
+
;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 "
 +
<span style="font-family:monospace;font-weight:bold">
 +
<span style="background-color:blue;color:yellow">
 +
0&nbsp;bash&nbsp;&nbsp;
 +
</span>
 +
<span style="background-color:red;color:black">
 +
&nbsp;1&nbsp;$&nbsp;bash
 +
</span>
 +
<span style="background-color:blue;color:yellow">
 +
&nbsp;&nbsp;&nbsp;2&nbsp;bash&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notebook
 +
</span>
 +
<span style="background-color:lime;color:black">
 +
&nbsp;0,04 0,10 0,07
 +
</span>
 +
<span style="background-color:blue;color:yellow">
 +
&nbsp;2008/03/25&nbsp;&nbsp;1:44&nbsp;
 +
</span>
 +
</span>
 +
;Das nervige C-a x loswerden (lock screen). Stört auf Remote-Shells bei pubkey-only Login...:
 +
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