| Artículos | 01 DIC 1998

Configuración del Sistema X Window (II)

Tags: Histórico
Curso Linux (VI)
Javier Cáceres.

Pocos entornos gráficos son tan flexibles como el sistema X Window . Lamentablemente, una consecuencia directa de dicha flexibilidad y potencia es la relativa complejidad de su configuración . Como se pudo ver en la anterior entrega del curso, instalar y configurar el sistema a un nivel básico no resulta una tarea excesivamente difícil, máxime disponiendo de herramientas que realizan la mayor parte del trabajo . No obstante, tratando con un entorno tan extenso, existe un buen numero de aspectos que no están cubiertos por tales ?asistentes? . A fin de terminar de personalizar nuestro sistema para que se ajuste perfectamente a nuestras necesidades, en el presente artículo trataremos en primer lugar de describir la estructura y características del sistema X Window, para luego abordar los entresijos de la configuración de los diferentes archivos que definen el comportamiento del servidor comúnmente incluido en las distribuciones Linux actuales: XFree86 .

Arquitectura cliente/servidor

La arquitectura cliente/servidor es una de las piezas clave del sistema X Window . Los objetivos de X Window van mucho más allá de la simple tarea de presentar una interfaz gráfica al usuario . Desde un principio, fue diseñado principalmente para proporcionar los mecanismos precisos para que sus aplicaciones pudieran ser ejecutadas remotamente a través de redes heterogéneas . Las aplicaciones X se comunican con el exterior exclusivamente enviando y respondiendo señales ya definidas por el sistema X Window . En ningún momento entran en contacto directo con el hardware de la máquina, y por supuesto, tampoco han de preocuparse de gestionar el paso de mensajes a través de la red del sistema operativo . Debido a ello, podemos manipular una aplicación X que realmente se está ejecutando en una máquina remonta ( lo que se conoce como transparencia con respecto a la red ) . De la misma forma, también resulta independiente con respecto al hardware, permitiendo que ambas máquinas no tengan que ser físicamente idénticas, es más, ni tan siquiera han de disponer del mismo sistema operativo . En este punto es conveniente recordar que existen versiones de X Window para la práctica totalidad de los sistemas Unix del mercado, así como para el resto de sistemas operativos relevantes: MS-DOS, Windows ( consultar Tabla A ) , OS/2, etcétera .

La transparencia con respecto a la red es una característica, que adquiere un sentido especial principalmente en entornos corporativos, donde es importante realizar una correcta distribución de los recursos informáticos . Supongamos, por ejemplo, que disponemos de una aplicación que realiza una serie de cálculos intensivos, gracias a dicha ?transparencia? proporcionada por el sistema X Window, todos esos cálculos los podemos realizar en el equipo más potente de la red, mientras que gestionamos la entrada y salida de datos desde un equipo o terminal mucho más modesto .

Así pues, el sistema X está compuesto por dos elementos fundamentales: el servidor y los clientes X . Todo el tráfico de datos que se produzca entre clientes y servidores es gestionado íntegramente por el protocolo de comunicaciones X . En la terminología habitual, un servidor es aquel equipo que ofrece una serie de recursos ( archivos, impresoras, comunicaciones, etc . ) , mientras que el cliente es el equipo que ?consume? tales recursos de la red . Bajo este esquema, lo más normal es que el servidor sea el equipo más potente, pero bajo el esquema de X Window, ocurre exactamente lo opuesto: el cliente suele residir en la máquina más potente, y el servidor en la más común . La explicación a ello hay que buscarla en que no se considera cliente al usuario, sino a la aplicación que se ejecuta . Es decir, el usuario se conecta desde su estación a una máquina remota, y una vez allí ejecuta una aplicación . Ésta hace uso de la memoria y del procesador de la máquina en la que se haya instalada ( en este caso la remota ) , pero utiliza los recursos de entrada/salida de la estación del usuario . Por este motivo, se entiende que la estación del usuario ?sirve? los recursos que la aplicación necesita para ejecutarse, y por tanto, se entiende que la máquina del usuario es el servidor X, mientras que la aplicación es el cliente X de tal servidor . Muy a menudo esta distinción desaparece, pues comúnmente cliente y servidor se ejecutan en la misma máquina .

Estructura de una aplicación X

Asimilar la estructura del sistema X Window, suele resultar muy útil a la hora de clarificar algunos de los aspectos de su posterior configuración . Toda aplicación X, a fin de asegurar el correcto funcionamiento de la arquitectura cliente/servidor, precisa de un diseño peculiar basado en capas . En la Figura 1 se encuentra esquematizado en líneas generales el funcionamiento de todo el sistema X Window . Todo el núcleo del sistema se encuentra contenido en una extensa biblioteca escrita en C denominada Xlib . Aunque la aplicación puede hacer uso de otras bibliotecas, e incluso acceder directamente a funciones del sistema, todo lo relativo al entorno gráfico, cualquier evento, es en primer lugar traducido en llamadas a rutinas de Xlib . Posteriormente esas rutinas, son traducidas en las series de datos que son transferidas a través de la red ( a nivel del protocolo X ) , hasta que alcanzan su destino, donde son interpretados .

Pese a que Xlib es una biblioteca muy extensa, por un lado sólo soporta una serie de operaciones gráficas rudimentarias ( dibujar líneas, rectángulos, círculos, etc . ) , y por otro, tampoco define elementos gráficos complejos, generalmente denominados widgets ( pulsadores, barras de desplazamiento, campos de texto, etc . ) . Para solventar ese problema fue desarrollada inicialmente la biblioteca Xt ( X Toolkit ) . Xt dispone de funciones de más alto nivel para el desarrollo de gestores de ventanas y aplicaciones X . Posteriormente, con mayor o menor éxito, han ido apareciendo otras bibliotecas, otros toolkits, con sus correspondientes widgets ( Athena, OSF/Motif, OpenLook, SUIT, Qt, Gtk, etc . ) . Como resultado de la coexistencia de esta serie de bibliotecas distintas, tenemos que hasta ahora las aplicaciones X Window no han tenido nunca un aspecto uniforme . Cada widget tiene un numero de atributos específicos como puedan ser tamaño, posición, color, etc . Cuando un programador desarrolla una aplicación, asigna una serie de valores a cada widget que en ella emplea . En ocasiones tales atributos pueden ser modificados por el propio usuario, y variar así el aspecto de la aplicación .

El archivo XF86Config

Todos los parámetros referentes a la configuración del servidor X de XFree se encuentran en el archivo XF86Config, situado en el directorio/usr/lib/X11 . Normalmente este archivo suele ser un enlace que apunta a un archivo del mismo nombre, pero situado en el directorio /etc ó /etc/X11 . Con el fin de facilitar su comprensión, el fichero en cuestión se encuentra dividido en 7 secciones: Files, ServerFlags, Keyboard, Pointer, Monitor, Device y Screen . Aquellos lectores que sigan el curso con asiduidad, quizás recuerden que en el anterior artículo recomendamos no configurar el sistema X Window manualmente . Hoy el consejo sigue siendo el mismo, la forma más sencilla de configurar el servidor sigue siendo utilizar cualquiera de los asistentes de configuración disponibles ( XF86Setup, Xconfigurator, o xf86config ) . No obstante, siempre hay aspectos de la configuración que escapan de las capacidades de estas herramientas, y que a la hora de personalizar nuestro entorno hay que ajustar manualmente . Comentaremos pues el objetivo y los parámetros más relevantes de cada una de las secciones .

Files: principalmente establece dónde se ha de buscar la tabla de equivalencia de colores ( rgb . txt ) , los tipos d

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información