Ein Fenstersystem muss keinen Server haben, aber Sie können sich dafür entscheiden, ein Fenstersystem basierend auf einem Client-Server-Modell zu implementieren. Dies hat mehrere Vorteile, da Sie die Aktivitäten auf dem Client und dem Server klar voneinander trennen. Sie müssen nicht auf demselben Computer ausgeführt werden, und es ist einfacher, mehrere Clients zu warten. Das ist derzeit noch sehr praktisch (z. B. wenn Sie ssh
in eine andere Maschine einsteigen), aber Sie müssen feststellen, dass zum Zeitpunkt der Entwicklung von X dies als eine Notwendigkeit angesehen wurde: Ihre lokale Maschine ist möglicherweise nicht leistungsfähig genug, um den Client auszuführen.
Named Pipes bieten nicht den automatischen Vorteil, dass Sie wie bei einer TCP-Implementierung über das Netzwerk ausgeführt werden können. Named Pipes waren zB unter DOS nicht verfügbar, mit DosExtender unter Desqview / X (1992) und AFAIK auch nicht unter VMS. Für diese Implementierungen wäre eine Unix-spezifische Kommunikation ein Problem.
TCP ist nicht Unix-spezifisch und es ist möglich, einen Client unter VAX / VMS (X-Entwicklung ab 1984) auszuführen und die Ausgabe an Ihre lokale UNIX-basierte Grafik-Workstation zu liefern. Aus dem "X Window System: Die vollständige Referenz zu Xlib, X Protocol, ICCCM, XLFD" ¹:
Im Herbst 1986 entschied sich Digital, seine gesamte Desktop-Workstation-Strategie für ULTRIX, VMS und MS-DOS auf X zu stützen. Dies war für uns zwar erfreulich, bedeutete aber auch, dass wir noch mehr Leute zum Reden hatten. Dies führte zu einer gewissen Verzögerung, letztendlich aber auch zu einem besseren Design. Ralph Swick von Digital schloss sich in dieser Zeit dem Projekt Athena an und spielte während der Entwicklung von Version 11 eine wichtige Rolle. Die letzte Version 10 wurde im Dezember 1986 veröffentlicht.
Aus dem "X Protocol Reference Manual" ²:
Aufgabenteilung
Bei der Entwicklung des X-Protokolls wurde viel über die Aufteilung der Funktionen zwischen Server und Client nachgedacht. Dabei wird festgelegt, welche Informationen durch Anforderungen, Antworten und Ereignisse hin und her geleitet werden müssen. Eine ausgezeichnete Informationsquelle über die Gründe für bestimmte Entscheidungen beim Entwurf des Protokolls ist der Artikel The X Window System von Robert W. Scheifler und Jim Gettys, veröffentlicht in der Fachzeitschrift Transaction on Graphics der Association of Computing Machinery, Band 5, Nr. 2, April 1986 Die letztendlich getroffenen Entscheidungen basierten auf der Portabilität von Client-Programmen, der Einfachheit der Client-Programmierung und der Leistung.
Erstens ist der Server so konzipiert, dass Unterschiede in der zugrunde liegenden Hardware gegenüber Clientanwendungen so gut wie möglich ausgeblendet werden. ...
Ich erinnere mich, dass der Artikel in TOG eine interessante Lektüre war. Es löste mit Sicherheit mein Interesse an X aus und (dies war vor dem WorldWideWeb) die Schwierigkeit, mehr Informationen in die Hände zu bekommen, bis O'Reilly begann, ihre Bücher der Serie X zu veröffentlichen.
¹ X Version 11, Release 4, Seite 2-X, PDF hier online verfügbar
² Dies ist von Seite 9 in der zweiten Ausgabe, die ich 1990 bei O'Reilly gekauft habe. Es gibt neuere Ausgaben, aber ich habe mich nie darum gekümmert, sie zu kaufen diese und sie sind AFAIK nur in Papierform erhältlich. Ich glaube nicht, dass sie die Gründe für die Aufteilung der Zuständigkeiten geändert haben.