Un sistema de ventanas no tiene que tener un servidor, pero puede decidir implementar un sistema de ventanas basado en un modelo cliente-servidor. Hacerlo tiene varias ventajas, ya que separa claramente las actividades en el cliente y el servidor, no necesitan ejecutarse en la misma máquina y es más fácil atender a varios clientes. Actualmente, esto todavía es muy útil (por ejemplo, cuando te encuentras ssh
en otra máquina), pero debes darte cuenta de que en el momento en que se desarrolló X, eso se veía como una necesidad: tu máquina local podría no ser lo suficientemente potente como para ejecutar el cliente.
Las canalizaciones con nombre no le darían la ventaja automática de poder ejecutar en la red como lo haría una implementación de TCP. Pero las canalizaciones con nombre, por ejemplo, no estaban disponibles en DOS, con DosExtender ejecutando Desqview / X (1992) y AFAIK tampoco en VMS. Para esas implementaciones, una comunicación específica de Unix sería un problema.
TCP no es específico de Unix y es posible que un cliente se ejecute en VAX / VMS (el desarrollo de X comenzó en 1984) y sirva la salida a su estación de trabajo de gráficos basada en UNIX local. Del "Sistema X Window: la referencia completa a Xlib, X Protocol, ICCCM, XLFD" ¹:
Durante el otoño de 1986, Digital decidió basar toda su estrategia de estación de trabajo de escritorio para ULTRIX, VMS y MS-DOS en X. Aunque esto fue gratificante para nosotros, también significaba que teníamos aún más personas con quienes hablar. Esto resultó en algún retraso, pero, al final, también resultó en un mejor diseño. Ralph Swick de Digital se unió al Proyecto Athena durante este período y jugó un papel vital durante el desarrollo de la versión 11. El último lanzamiento de la versión 10 estuvo disponible en diciembre de 1986.
Del "Manual de referencia del protocolo X" ²:
División de responsabilidades
En el proceso de diseño del protocolo X, se pensó mucho en la división de capacidades entre el servidor y el cliente, ya que esto determina qué información debe transmitirse de un lado a otro a través de solicitudes, respuestas y eventos. Una excelente fuente de información sobre la razón detrás de ciertas elecciones realizadas al diseñar el protocolo es el artículo The X Window System, de Robert W. Scheifler y Jim Gettys, publicado en la revista Transaction on Graphics de la Association of Computing Machinery, Vol. 5, No. 2 de abril de 1986 Las decisiones finalmente tomadas se basaron en la portabilidad de los programas del cliente, la facilidad de programación del cliente y el rendimiento.
Primero, el servidor está diseñado, tanto como sea posible, para ocultar las diferencias en el hardware subyacente de las aplicaciones del cliente. ...
Recuerdo que el artículo en TOG es una lectura interesante. Ciertamente, provocó mi interés en X y (esto fue antes de WorldWideWeb) la dificultad que tuvimos para obtener más información hasta que O'Reilly comenzó a publicar sus libros de la serie X.
¹ X Versión 11, Release 4, página 2-X, PDF disponible en línea aquí
² Esto es de la página 9 en la 2da edición, publicada por O'Reilly, que compré en 1990. Hay ediciones más nuevas pero nunca me molesté en comprar estos y AFAIK solo están disponibles en papel también. No creo que hayan cambiado la lógica de la división de responsabilidades.