5.2. Entender X

Usar X por primera vez puede resultar chocante para alguien familiarizado con otros entornos gráficos, como Microsoft® Windows® o Mac OS®.

No es necesario entender todos los detalles de los diferentes componentes de X y como interaccionan, un conocimiento básico hace posible obtener mayor provecho de la potencia de X.

5.2.1. ¿Por qué X?

X no es el primer sistema de ventanas escrito para UNIX® pero es el más popular de ellos. El equipo original que desarrolló X trabajó en otro sistema de ventanas antes de escribir X. Ese sistema se llamó “W” (de “Window” que significa ventana en inglós). X era solo la siguiente letra en el alfabeto Romano.

X se puede llamar “X” “X Window System”, “X11” y de otras formas. También es posible usar el termino “X Windows” para describir X11 si lo que quiere es ofender a algunas personas; si quiere saber más sobre esto consulte X(7).

5.2.2. El modelo cliente/servidor de X

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 sobre el ordenador 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 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 correran en el mismo ordenador. Sin embargo, es perfectamente posible correr el servidor X en un ordenador de escritorio menos potente, y correr las aplicaciones X (los clientes) en, por ejemplo, la potente y cara máquina que sirve la oficina. En este panorama la comunicación entre el cliente X y el servidor tiene lugar a través de la red.

Esto confunde a algunas personas, porque la terminología es exactamente opuesta a lo que ellos esperan. Ellos esperan que el “servidor X” sea la máquina grande que hay en el sótano y que el “cliente X” sea la máquina de su mesa.

Es importante que recuerde que el servidor X es la máquina con el monitor y el teclado y que los clientes X son los programas que muestran las ventanas.

No hay nada en el protocolo que obligue a que el cliente y el servidor tengan que usar el mismo sistema operativo o incluso que estén en el mismo ordenador. Es posible ejecutar un servidor X en Microsoft Windows o en el Mac OS de Apple; de hecho hay varias aplicaciones libres y comerciales que hacen exactamente eso.

A partir de FreeBSD 5.3-RELEASE, el servidor X que se instala con FreeBSD es Xorg que es libre y se distribuye bajo una licencia muy similar a la de FreeBSD. También hay servidores X comerciales para FreeBSD.

5.2.3. El gestor de ventanas

La filosofía de diseño de X es más parecida a la de UNIX: “herramientas, no política”. Esto significa que X no impone cómo una tarea debe hacerse. En lugar de eso proporciona herramientas al usuario y es responsabilidad suya decidir qué hacer con ellas.

Esta filosofía se extiende a X; no impone como deben verse las ventanas en la pantalla, cómo moverlas con el ratón, que teclas deberían usarse para moverse entre ventanas (por ejemplo Alt+Tab, en Microsoft Windows), cómo deben ser las barras de título en cada ventana, si tienen o no botón de cierre, etc.

En lugar de eso X delega esta responsabilidad en una aplicación llamada “gestor de ventanas”. Hay docenas de gestores de ventanas disponibles para X: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker, etc. Cada uno de estos gestores de ventanas tiene un aspecto diferente; algunos soportan “escritorios virtuales”; otros permiten personalizar las teclas para manejar el escritorio; otros tienen un botón de “Inicio” o algo similar; otros tienen “diseños modificables”, permitiendo un cambio completo del aspecto mediante un nuevo diseño. Estos gestores de ventanas, y muchos otros, están disponibles en la categoría x11-wm de los ports.

Además, los entornos de escritorio KDE y GNOME tienen sus propios gestores de ventanas integrados con el escritorio.

Cada gestor de ventanas tiene diferentes mecanismos de configuración; en algunos debe escribir el fichero de configuración a mano, otros tienen herramientas gráficas para la mayor parte de la configuración; y al menos uno (Sawfish) tiene un fichero de configuración escrito en el lenguaje Lisp.

Política de foco: Otra responsabilidad del gestor de ventanas es la “política de foco” del ratón. Todos los sistemas de ventanas necesitan algo para elegir una ventana activa que recibirá los eventos y también debieran indicar visiblemente que ventana esta activa.

Una política familiar podría ser “clic-para-foco”. Este es el modelo utilizado por Microsoft Windows, en el que una ventana se convierte en activa al recibir un clic del ratón.

X no tiene ninguna política de foco. En lugar de eso el gestor de ventanas controla qué ventana tiene el foco en todo momento. Los diferentes gestores de ventanas tienen diferentes políticas de foco. Todos soportan la política “clic-para-foco” y la mayoría de ellos también soportan otros métodos.

Las políticas de foco más populares son:

el-foco-sigue-al-ratón

La ventana que esta bajo el puntero del ratón es la ventana que tiene el foco. No es necesario que la ventana esté encima de las demás ventanas. El foco se cambia al apuntar a otra ventana, aunque no es necesario hacer clic en ella.

foco-descuidado

Esta política es una pequeña extensión de “el-foco-sigue-al-ratón”. Con “el-foco-sigue-al-ratón”, si el ratón se mueve sobre la ventana raíz (o fondo) entonces ninguna ventana tiene el foco y las pulsaciones del teclado se perderán. Con la política “foco-descuidado” el foco sólo cambia cuando el cursor entra en una nueva ventana y no cuando sale de la ventana actual.

click-para-foco

La ventana activa se selecciona con un clic del ratón. La ventana se puede “levantar” y aparecer delante de las demás ventanas. Todas las pulsaciones de teclado serán redirigidas a esa ventana aunque el cursor se mueva a otra ventana.

Muchos gestores de ventanas soportan otras políticas o variaciones de estas. Consulte la documentación del propio gestor de ventanas.

5.2.4. Widgets

La idea de X es hacer herramientas en vez de política y se extiende a los “widgets” que se ven en la pantalla de cada aplicación.

“Widget” es un término para todos los objetos en el interfaz de usuario que pueden ser pulsados con el ratón o manipulados de alguna forma: botones, “check boxes”, iconos, listas, etc. Microsoft Windows los llama “controles”.

Microsoft Windows y Mac OS de Apple tienen una política de “widgets” muy rígida. Se supone que los desarrolladores de aplicaciones comparten el aspecto. En X no se consideró imponer un estilo gráfico o un conjunto de “widgets” al que adherirse.

Como resultado no se puede esperar que las aplicaciones de X tengan un aspecto común. Hay varios conjuntos de “widgets” y variaciones muy populares como el “widget” Athena creado en el MIT, Motif® (donde los “widgets” de Microsoft Windows fueron modelados, con todos los bordes biselados y tres tonos de gris), OpenLook, y otros.

Las aplicaciones más modernas de X hoy en día usan un conjunto de “widgets” con mejor aspecto, o Qt, usado por KDE, o GTK+, usado por el proyecto GNOME. Se intenta que el aspecto del escritorio de UNIX sea parecido, lo que hace la vida más fácil al usuario novato.

Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para preguntas acerca de FreeBSD, leer la documentación antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de esta documentación, e-mail a <doc@FreeBSD.org>.

Hosting by: hurra.com
Generated: 2007-01-26 18:00:31