Curso de Introducción a GNU/Linux: Historia, Filosofía, Instalación y Conceptos Básicos | ||
---|---|---|
Anterior | El sistema X-Window | Siguiente |
Una sesión de X esta compuesta por lo general de varias ventanas donde cada una de ellas ejecutan un programa aislado. Al igual que los programas en cualquier otro sistema, los programas que se ejecutan en X varían en cuanto a su funcionalidad.
Algunos necesitan de la interacción con el usuario y otros solo despliegan datos en la pantalla. A la ventana de fondo se la conoce como ventana raíz (root window). Las ventanas de aplicación se despliegan encima de la ventana raíz. Al igual que los procesos en Un*x estas ventanas están agrupadas o relacionadas de acuerdo a una jerarquía. Así es que la ventana raíz es el padre de todas las demás ventanas. Ahora, para entender un poco mas este tipo de funcionamiento pasaremos a explicar en que consiste.
X esta formado de dos partes: un lado servidor y un lado cliente. La funcionalidad básica es familiar a la forma en que trabajan todos los modelos cliente-servidor, en el sentido de que el servidor X tiene determinados recursos que proporciona al cliente. Debido a que el servidor X esta integrado a las pilas TCP/IP las peticiones pueden venir de cualquier cliente y pueden ser solicitadas a cualquier servidor. Además, debido a que X, además de ser un programa específico, define además un protocolo, los clientes pueden comunicarse con servidores X en otro tipo de plataforma. El servidor actúa como una interfaz entre los programas clientes y el hardware físico.
Cuando se proporcionan datos, ya sea por medio del teclado o el mouse, el servidor acepta la entrada y es responsable de pasarla al cliente. Esta información se pasa al cliente como un evento. Una tecla apretada o el movimiento del mouse generan un evento ante el cual reaccionará el cliente.
Este evento genera una reacción en el cliente para que presente un cambio en la pantalla como podría ser el desplegado de un menú. Estos se realizan de la siguiente manera: El usuario realiza un clic de mouse en el cliente. Este solicita al servidor que muestre un menú desplegable. El servidor pasa la información al hardware, que muestra el menú desplegable en la pantalla. Como resultado de esta separación de funcionalidades, un cliente puede desplegar información en más de un servidor. Para iniciar cualquier cliente se deberá haber iniciado el servidor X en algún lugar de la red o, como es común, en la misma máquina que se están ejecutando los clientes.
Al contrario de lo que podría suponerse, ni el servidor ni los clientes son responsables de la apariencia de las ventanas en la pantalla tal como lo entendemos. Ester trabajo le corresponde a un "administrador de ventanas" (WM por window manager). La mayoría de las distribuciones actuales trae los varios WM diferentes, proporcionando interfaces que difieren entre sí y pueden configurarse y adaptarse a los gustos de los usuarios. También vienen los entornos de escritorio KDE o Gnome como estándar, los que proporcionan mayor grado de integración entre aplicaciones y trabajan de formas diferentes. El WM también es el encargado de controlar los íconos en la pantalla. A continuación se muestra el aspecto de algunos administradores de ventanas. Si se quiere una descripción más detallada acerca de los WM disponibles consultar http://xwinman.org (en inglés)