X Window System (Sistema de ventanas X) fue desarrollado a mediados de los años 80 en el MIT (Instituto Tecnológico de Massachusetts) para dotar de una interfaz gráfica a los sistemas Unix. Este sistema permite la interacción gráfica en red entre un usuario y una o más computadoras.

Normalmente cuando nos referimos a X Windows System hablamos de la versión 11 de este protocolo, conocida también como X11, que es el que está en uso actualmente.

X es el encargado de mostrar la información gráfica y es totalmente independiente del sistema operativo.

El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el usuario. De este modo mientras el servidor se ejecuta de manera local, las aplicaciones pueden ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia de red.

Debido a este esquema cliente-servidor, se puede decir que X se comporta como una terminal gráfica virtual.

El hecho que exista un estándar definido para X permite que se desarrollen servidores X para distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por ejemplo. permite tener clientes X ejecutándose en un potente servidor UNIX mientras los resultados son visualizados en una PC de escritorio con cualquier otro sistema operativo funcionando (como Microsoft Windows).

La comunicación entre el cliente X y el servidor se realiza por medio de un protocolo conocido como Xprotocol, que constituye una serie bytes interpretados como comandos básicos para generar ventanas, posicionarlas, o controlar eventos.