Die Shell verwendet ein TTY-Gerät (sofern es mit einem verbunden ist), um Benutzereingaben zu erhalten und Ausgaben zu erzeugen, und nicht viel mehr. Die Tatsache, dass eine Shell mit einem TTY verbunden ist, wird von getty
(und von login
) bestimmt; Meistens ist es der Shell egal, ob sie mit einem TTY verbunden ist oder nicht. Die Interaktion mit dem Kernel erfolgt über Systemaufrufe.
Ein X11-Server kennt sich nicht mit Anmeldungen aus (genau wie eine Shell). Der Anmeldevorgang in X11 funktioniert auf zwei Arten:
- Entweder der Benutzer meldet sich am Terminal an und startet dann X (normalerweise mit
startx
).
- oder ein X-Server wird mit einem "Display-Manager" gestartet, der den Benutzer zur Eingabe eines Anmeldenamens und eines Kennworts auffordert (oder zur Eingabe der erforderlichen Authentifizierungsinformationen).
Die Art und Weise, wie X11-Server Eingaben erhalten und Ausgaben produzieren, unterscheidet sich stark von einer Shell. Auf der Eingabeseite kennt X Geräte, die Shells nicht haben, beginnend mit Mäusen. Diese werden in der Regel direkt mit eigenen Treibern verwaltet. Sogar für Tastaturen hat X eigene Treiber, die die Handhabung des Kernels ergänzen (so wie ich es verstehe, verwendet X zum Beispiel unter Linux den TTY-Treiber, um unformatierte Eingaben von der Tastatur zu lesen, interpretiert diese jedoch unter Verwendung eines eigenen Treibers). Auf der Ausgabeseite steuert X Anzeigegeräte direkt, mit oder ohne Hilfe des Kernels und ohne ein TTY-Gerät zu durchlaufen.
X11 - Server auf vielen Systemen zu tun Verwendung TTY - Geräte aber mit dem Kernel zu synchronisieren: auf Systemen , die virtuelle Terminals unterstützen, X muss „Reserve“ der VT läuft es auf, und der Griff VT - Umschaltung. Es gibt ein paar andere Feinheiten auf dem Weg; Unter Linux optimiert X das TTY, um GPM zu deaktivieren (ein Programm, das die Verwendung von Mäusen im Textmodus ermöglicht). X kann auch eine VT teilen ...
Auf einigen Workstations gab es in der Vergangenheit nicht viel explizite Synchronisation mit dem Kernel. Wenn Sie nicht ausgeführt werden xconsole
, werden möglicherweise Kernelmeldungen im „Textmodus“ oben auf Ihrem X11-Display angezeigt.