El Sistema X Window. Cuarta Parte: Escritorios y Administradores de Ventanas
Agosto 16 de 2.004
Por Manuel Alejandro Cerón Estrada.
Contenido |
Introducción
El Sistema X Window, por si mismo, no ofrece más que las características básicas de una interfaz gráfica de usuario (GUI). Prácticamente solo sirve para pintar ventanas en la pantalla. De otra parte, las GUI se inventaron con el objetivo de hacer la vida más fácil, y consisten en mucho más que solo ventanas e iconos. Es por esta razón que surgen algunos componentes adicionales a X que realizan otras tareas complementarias: el administrador de ventanas y el entorno de escritorio. Esto obedece a una de las filosofías de Unix: mantener pequeños componentes cooperativos que realicen una sola tarea, pero que la realicen muy bien. De esta manera se tiene la ventaja de que si no funciona bien algún componente, o simplemente no nos gusta, lo podemos cambiar fácilmente.
Administradores de Ventanas
Los administradores o gestores de ventanas (“windows managers” en inglés), controlan la apariencia de las mismas y su interacción con el usuario. Por ejemplo, deben mostrar y controlar los componentes básicos de las ventanas: la barra de titulo; los botones para cerrar, minimizar, restaurar y maximizar; los comportamientos que pueda tener como moverse, enrollarse, quedarse encima de todas las ventanas, pasarse a otro escritorio virtual[1], etc. Los administradores de ventanas son independientes de la implementación de X que utilicen; les da lo mismo si usan XFree86 o X.org. Actualmente existe una enorme cantidad de administradores de ventanas para GNU/Linux y X, cada uno con distintas características especiales, desde aquellos que intentan emular el “look and feel” de otros sistemas operativos como Windows, MacOS, BeOS y NeXTstep, hasta los que quieren consumir la menor cantidad de recursos, pasando por los que quieren ser visualmente espectaculares o increíblemente configurables.
Algunos de los administradores de ventanas más comunes son:
- Fvwm. En los primeros días de GNU/Linux, este fue el administrador de ventanas más usado en este sistema operativo. Se caracteriza por ser liviano, sencillo y fácil de usar. De Fvwm han salido proyectos derivados como Fvwm95, que intenta emular el “look and feel” de Microsoft Windows 95 y Enlightenment
- IceWM (The ICE Windows Manager). Este es un gestor de ventanas creado con dos objetivos en mente: eficiencia y flexibilidad. IceWM trata de consumir pocos recursos del computador y es, en extremo, configurable. Como una característica especial, IceWM incluye una pequeña barra de tareas, a la cual se le pueden poner pequeños applets para monitoreo del CPU, la memoria y la red. IceWM es compatible con GNOME, lo que quiere decir que puede ser usado como administrador de ventanas de este escritorio.
- Elightenment (también conocido como “E”). Inicialmente basado en Fvwm, fue creado para ser muy rápido, eficiente y visualmente agradable. Es uno de los gestores preferidos por aquellos que no quieren o no pueden usar un entorno de escritorio completo.
- Windows Maker y AfterStep Estos gestores de ventanas de peso ligero tratan de emular las características de NeXTstep
- BlackBox y FluxBox. Estos dos administradores han sido desarrollados con un solo fin: velocidad, alta velocidad. Pueden ser usados como gestores de ventanas deKDE y parcialmente de GNOME.
- Kwm y Metacity. Estos son los gestores de ventanas creados especialmente para trabajar con los escritorios GNOME y KDE respectivamente.
Entornos de Escritorios
Los entornos de escritorio se encargan de brindar una interfaz general para el sistema operativo y de brindar ciertas aplicaciones para el manejo general del computador. Así por ejemplo, los entornos de escritorio muestran uno o más paneles que contiene menú de inicio, lista de tareas, paginador, reloj, entre otras cosas[2]; un entorno de escritorio que contiene iconos, papel tapiz y papelera de reciclaje; aplicaciones como explorador y buscador de archivos, navegador web, lector de correo electrónico y hasta suite de oficina; una plataforma de desarrollo con componentes que permitan a las aplicaciones tener cierta homogeneidad; y utilidades de configuración básica del sistema en general, del hardware y del entorno. Por lo general los entornos de escritorio trabajan encima de algún administrador de ventanas, y en algunas ocasiones es posible usar un mismo escritorio con distintos gestores de ventanas.
Algunos de los escritorios más conocidos son:
- KDE (K Desktop Environment). KDE fue el primer proyecto de crear un sistema integrado de escritorio para los sistemas Unix -y especialmente GNU/Linux- que fuera software libre. Aunque en el mundo del software propietario ya existían otros entornos como CDE (Common Desktop Enviroment), los usuarios de software libre tenían que conformarse con usar un simple gestor de ventanas como entorno gráfico. KDE está basado en la librería de widgets[3] Qt de Trolltech, que en sus principios era software propietario, pero ahora es libre bajo la Licencia Publica General de GNU (GPL). KDE cuenta con varias herramientas como Konqueror, su explorador de archivos y navegador web; Kmail, su lector de correo electrónico; Kopete, su cliente de mensajería instantánea; KOffice, su suite de oficina; y muchas otras mas. KDE también ofrece una plataforma de desarrollo basada en Qt, sus propias librerías y el sistema de componentes KParts.
- GNOME (GNU Network Object Model Environment). GNOME surgío en Latinoamerica (más exactamente en México) de la mano de Miguel de Icaza y Federico Mena. El objetivo era crear un entorno agradable para el usuario final, que fuera cien por ciento Software Libre (El problema con KDE era que estaba basado en Qt, que en ese tiempo no era libre). GNOME se basa en la librería GTK+, originalmente creada para El GIMP. Algunas de la herramientas que hacen parte de GNOME son: Nautilus, su explorador de archivos; Galeon, su navegador web; Evolution, su lector de correo electrónico; Gaim, su cliente de mensajeria instantanea, Gnome System Tools, sus herramientas para la configuración del sistema; y GOffice, su intento por crear un suite de oficina. Además de todo esto, GNOME cuenta con una avanzada plataforma de desarrollo orientada a objetos, basada en las librerías GTK, GObject, GLib, Pango y el sistema de componentes Bonobo, que esta basado en ORBit, una implementación libre de CORBA.
- XFce. XFce es un entorno de escritorio liviano y eficiente, en contraparte con los dos más populares -GNOME y KDE-, XFce está basado en la librería de widgets GTK y aunque posee muy pocas aplicacion, pero es una de las opciones preferidas por quienes quieren gastar pocos recursos del PC.
Referencias
Este artículo está basado en su mayor parte en el contenido de XwinMan (http://www.xwinman.org) una página dedicada a recopilar información sobre decenas de administradores de ventanas y entornos de escritorio.
[1] Por lo general en los entornos GUI de Unix, se dispone de varios escritorios virtuales en los cuales se pude organizar las ventanas de forma cómoda.
[2] Generalmente, es posible programar applets con diversos usos para los paneles de los entornos de escritorio más comunes.
[3] Los widgets son básicamente los componentes de una GUI como botones, casillas de verificación, menús, etc.
El contenido del material publicado por nuestros columnistas es responsabilidad de sus autores.
Para saber más sobre la programación y naturaleza de nuestros artículos y columnas, haga clic aquí.