El protocolo central del sistema X Window [1] [2] [3] es el protocolo base del sistema X Window , que es un sistema de ventanas en red para pantallas de mapas de bits que se utiliza para crear interfaces gráficas de usuario en Unix , similares a Unix y otros sistemas operativos . sistemas _ El sistema X Window se basa en un modelo cliente-servidor : un solo servidor controla el hardware de entrada/salida , como la pantalla , el teclado y el mouse ; todos los programas de aplicaciónactuar como clientes , interactuando con el usuario y con los demás clientes a través del servidor. Esta interacción está regulada por el protocolo central del sistema X Window. Existen otros protocolos relacionados con el sistema X Window, ambos integrados en la parte superior del protocolo central del sistema X Window o como protocolos separados.
En el protocolo central del sistema X Window, solo se envían cuatro tipos de paquetes, de forma asincrónica , a través de la red: solicitudes, respuestas, eventos y errores. Las solicitudes son enviadas por un cliente al servidor para pedirle que realice alguna operación (por ejemplo, crear una nueva ventana) y devolver los datos que contiene. Las respuestas son enviadas por el servidor para proporcionar dichos datos. El servidor envía eventos para notificar a los clientes sobre la actividad de los usuarios u otros sucesos que les interesen. Erroresson paquetes enviados por el servidor para notificar a un cliente de errores ocurridos durante el procesamiento de sus solicitudes. Las solicitudes pueden generar respuestas, eventos y errores; aparte de esto, el protocolo no exige un orden específico en el que se envían los paquetes a través de la red. Existen algunas extensiones del protocolo central, cada una con sus propias solicitudes, respuestas, eventos y errores.
X se originó en el MIT en 1984 (su [update]versión actual, X11, apareció en septiembre de 1987). Sus diseñadores, Bob Scheifler y Jim Gettys , establecieron como principio inicial que su protocolo central era "crear un mecanismo, no una política". Como resultado, el protocolo central no especifica la interacción entre clientes y entre un cliente y el usuario. Estas interacciones están sujetas a especificaciones separadas, [4] como las especificaciones ICCCM y freedesktop.org , y normalmente se aplican automáticamente mediante el uso de un conjunto de widgets dado .
La comunicación entre el servidor y los clientes se realiza mediante el intercambio de paquetes a través de un canal . La conexión la establece el cliente (el protocolo no especifica cómo se inicia el cliente). El cliente también envía el primer paquete, que contiene el orden de bytes que se usará e información sobre la versión del protocolo y el tipo de autenticación que el cliente espera que use el servidor. El servidor responde devolviendo un paquete que indica la aceptación o el rechazo de la conexión, o con una solicitud de autenticación adicional . Si se acepta la conexión, el paquete de aceptación contiene datos para que el cliente los utilice en la interacción posterior con el servidor.
Una vez establecida la conexión, se intercambian cuatro tipos de paquetes entre el cliente y el servidor a través del canal:
Los paquetes de solicitud y respuesta tienen una longitud variable, mientras que los paquetes de eventos y errores tienen una longitud fija de 32 bytes .