Wie funktioniert "Bildschirm" eigentlich?

8

Ich habe gerade davon erfahren screenund es sieht wunderbar aus.

Einige Fragen:

  1. Wie arbeiten sie eigentlich?
  2. Warum werden Downloads / Prozesse auf Bildschirmen nicht unterbrochen, obwohl etwas Schlimmes passiert ist?
jsn alf
quelle
Kann nützlich sein: echo $TERMIn einer Bildschirmsitzung wird gedruckt, screenim Gegensatz zu xtermnormalen Bash-Sitzungen.
Forumulator

Antworten:

16

Sehr kurz (es ist möglich, mehrere Seiten zum Thema zu schreiben): screen funktioniert von

  • Einrichten eines Serverprozesses, der alle Ein- / Ausgaben direkt in Ihr Terminal übernimmt,
  • Starten von Client-Prozessen für jedes von Ihnen erstellte Fenster und
  • Verbinden des Servers und der Clients beim Starten über eine Pseudo-Terminal- Verbindung (eine Funktion des Betriebssystems).

Sobald ein Client (Fenster) erstellt wurde, wird er von den anderen Clients isoliert. Es kommuniziert über die Pseudo-Terminal-Verbindung mit dem Server-Prozess, der das Terminal aktualisiert. Der Server verfolgt, was in einem bestimmten Fenster auf dem Terminal angezeigt werden soll, und bietet Ihnen die Möglichkeit, zwischen Fenstern zu wechseln. Die Clients werden ausgeführt, ohne zu wissen, ob screenderzeit ihre Informationen angezeigt werden.

Thomas Dickey
quelle
klar und schnell +1
aran