Antes que nada, ¿Qué es X?
La interfaz Gráfica de Usuario (GUI-Grafical User Interface) o "Funcionalidad de Ventanas" se ha convertido en una parte de la máquina que todo el mundo utiliza y conoce.
Cualquier proveedor de software de sistemas de cliente, ya sea libre o no, que quiera ser tomado en serio debe proporcionar una interfaz gráfica de usuario (GUI) como primer método de interacción con el usuario. Microsoft incluye el suyo como parte del sistema principal, o kernel, al igual que muchos otros. La mayoría de las distribuciones GNU/Linux la incluyen en la instalación por defecto.
Sin embargo, en GNU/Linux, la infraestructura GUI no se incluye en el kernel sino que es un programa aparte con el nombre de “El Sistema de Ventanas X”.
X no es en realidad un GUI. Los GUIs que GNU/Linux suele tener son GNOME, KDE. La mayoría de las distribuciones GNU/Linux son liberadas con una GUI configurada como interfaz por defecto, que puede ser comparada con las GUI de cualquier otro sistema operativo. Y el usuario final, que utiliza el editor de textos, la hoja de cálculo, el cliente de correo y el navegador web no necesita conocer todos los detalles técnicos.
Entonces, ¿qué es exactamente X si no es una GUI?
X es la infraestructura que un GUI utiliza para hacer su trabajo. Por ejemplo, un GUI maneja los botones, las listas desplegables, ventanas, etc., mientras que X maneja el dibujo a bajo nivel de las fuentes, líneas e imágenes en la pantalla y lee las entradas por teclado y ratón así como la comunicación entre programas de éstos. También puede manejar la distribución de la red de usuarios y sesiones remotas.
X fue diseñado desde el principio pensando en redes y adoptó un modelo "cliente-servidor".
En el modelo de X el Servidor X se ejecuta en la máquina que tiene el teclado, monitor y ratón. El servidor es responsable de manejar la pantalla, la entrada de datos a través del teclado, el ratón, etc.
Cada aplicación X (como una XTerm o Netscape) es un cliente. Un cliente manda mensajes al servidor como por ejemplo, "Por favor dibuja una ventana en estas coordenadas" y el servidor devuelve mensajes como "El usuario ha pulsado el botón OK".
Sí solo hay un ordenador involucrado, como en una casa o una pequeña oficina, el servidor X y los clientes X seguramente se ejecutarán en el mismo sistema.
Viéndolo desde otro punto de vista, un servidor X es una máquina en una red donde existe un programa de “hacer ventanas” y otras máquinas, o clientes X, se conectan a ella para crear ventanas, escribir o mostrar texto, imágenes o lo que sea, en la ventana y puede leer cualquier entrada que el usuario haga sobre esa ventana. Los clientes X a menudo corren en la misma máquina, pero a veces no.
Bueno, espero que se haya entendido bien cómo funciona todo esto de los servidores X. Traté de describir con ejemplos claros y dibujos el funcionamiento de este tipo de infraestructura.
Si quieren consultar más información al respecto, les dejos los siguientes links:
http://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/x-understanding.html
http://www.tu-chemnitz.de/docs/lindocs/RH73/RH-DOCS/rhl-rg-es-7.3/ch-x.html
Espero sus comentarios...