Un sistema a finestre non deve avere un server, ma puoi decidere di implementare un sistema a finestre basato su un modello client-server. In questo modo si ottengono numerosi vantaggi poiché si separano chiaramente le attività nel client e nel server, non è necessario eseguirle sulla stessa macchina ed è più facile eseguire la manutenzione di più client. Questo è ancora molto utile (ad es. Quando ci si trova ssh
in un'altra macchina), ma è necessario rendersi conto che al momento in cui X è stato sviluppato, questo è stato visto come una necessità: la macchina locale potrebbe non essere abbastanza potente per eseguire il client.
Le pipe con nome non ti darebbero il vantaggio automatico di poter funzionare sulla rete come farebbe un'implementazione TCP. Ma le pipe denominate, ad esempio, non erano disponibili su DOS, con DosExtender con Desqview / X (1992) e AFAIK non su VMS. Per tali implementazioni una comunicazione specifica per Unix sarebbe un problema.
TCP non è specifico di Unix ed è possibile far funzionare un client con VAX / VMS (lo sviluppo di X è iniziato nel 1984) e servire l'output sulla workstation grafica basata su UNIX locale. Da "X Window System: il riferimento completo a Xlib, protocollo X, ICCCM, XLFD" ¹:
Nell'autunno del 1986, Digital decise di basare la sua intera strategia di workstation desktop per ULTRIX, VMS e MS-DOS su X. Sebbene questo ci gratificasse, significava anche che avevamo ancora più persone con cui parlare. Ciò ha comportato alcuni ritardi, ma alla fine ha portato anche a un design migliore. Ralph Swick di Digital è entrato a far parte del Progetto Athena durante questo periodo e ha svolto un ruolo vitale nello sviluppo della versione 11. L'ultima versione 10 è stata resa disponibile nel dicembre 1986.
Dal "Manuale di riferimento del protocollo X" ²:
Divisione di responsabilità
Nel processo di progettazione del protocollo X, molto pensiero è andato nella divisione delle capacità tra il server e il client, ma questo determina quali informazioni devono essere trasmesse avanti e indietro attraverso richieste, risposte ed eventi. Un'eccellente fonte di informazioni sulla logica alla base di alcune scelte fatte nella progettazione del protocollo è l'articolo The X Window System, di Robert W. Scheifler e Jim Gettys, pubblicato nella rivista Association of Computing Machinery Transaction on Graphics, Vol 5, No. 2, aprile 1986 Le decisioni prese alla fine si basavano sulla portabilità dei programmi client, sulla facilità di programmazione dei client e sulle prestazioni.
Innanzitutto, il server è progettato, per quanto possibile, per nascondere le differenze nell'hardware sottostante dalle applicazioni client. ...
Ricordo che l'articolo su TOG era una lettura interessante. Ciò ha sicuramente innescato il mio interesse per X e (questo era prima del WorldWideWeb) la difficoltà che abbiamo avuto di mettere le mani su ulteriori informazioni fino a quando O'Reilly ha iniziato a pubblicare i loro libri della serie X.
¹ X versione 11, versione 4, pagina 2-X, PDF disponibile online qui
² Questo è da pagina 9 della 2a edizione, pubblicata da O'Reilly, che ho acquistato nel 1990. Ci sono edizioni più recenti ma non mi sono mai preso la briga di acquistare questi e sono AFAIK disponibili anche solo su carta. Non penso che abbiano cambiato la logica della divisione delle responsabilità.