Varios
Enviar email
In English please

Valid XHTML 1.0! ¡Valid CSS 2.1!

Lecturas - Entorno Gráfico Linux

Introducción

Éste documento surge a partir de la preparación para una charla que iba a dar en la inauguración del grupo de usuarios GNU/Linux de San José, Uruguay.

La misma apunta hacia las personas que recién empiezan o piensan empezar a darle un vistazo al sistema operativo GNU/Linux, por lo tanto es de bajo contenido técnico.

Lamentablemente no pude realizar la charla debido a que hubo un atraso en los horarios y habían charlas mas importantes para hacer.

El entorno gráfico mas utilizado en Unix y GNU/Linux: XWindow

XWindow es un sistema estandarizado para manejo de aplicaciones gráficas en Unix y es el utilizado por GNU/Linux.

Posee una arquitectura muy peculiar pensada no sólo para usar aplicaciones gráficas locales, sino que también remotas, además de brindar una gran flexibilidad al entorno y en definitiva al usuario del mismo.

El sistema XWindow se compone de varias partes bien definidas y estandarizadas, pero los conceptos mas notables y útiles de entender son:

  • funciona en modalidad cliente-servidor
  • posee los denominados manejadores de ventanas
  • las aplicaciones utilizan librerías de widgets
  • existen entornos integrados de escritorio

Modalidad cliente-servidor

Mediante ésta modalidad, un usuario utilizando el sistema XWindow puede correr no solamente aplicaciones en su computadora, sino que también puede correr aplicaciones en otra computadora y manejarlas de la misma manera a como lo hace con las aplicaciones ejecutándose localmente.

El servidor es el encargado de manejar el hardware (pantalla, teclado, mouse, etc.).

Los clientes son las aplicaciones que el usuario utiliza, éstas se conectan al servidor utilizando los servicios brindados por éste y la conexión puede ser remota o en la misma computadora.

La abstracción del hardware brindada por el servidor permite utilizar aplicaciones ejecutadas en plataformas completamente diferentes, incluso diferentes sistemas operativos, implementaciones de XWindow y hardware.

Nótese el potencial que brinda ésto, ya que por ejemplo puede utilizarse para ahorrar dinero ejecutar aplicaciones en un computador de alta performance y tener terminales baratas, sencillas y prácticas para manejar dichas aplicaciones; y ésta solución también brinda mayor facilidad de administración, ya que la misma se puede centralizar en el computador central (el cual desde el punto de vista de XWindow actúa cómo cliente y las terminales serían los servidores).

Los manejadores de ventanas

Éstos se encargan de manejar la posición y tamaño de las ventanas de las aplicaciones, así como también el "foco", el cambio de una ventana a otra, y varias otras cosas mas, relacionadas con las ventanas.

Los manejadores de ventanas son clientes especiales, ya que puede correrse en un momento dado solamente uno por cada servidor.

Por lo general los manejadores de ventanas soportan varias características avanzadas como por ejemplo varios escritorios virtuales, decoraciones muy vistosas y configurables, algunos soportan menúes para lanzar aplicaciones e íconos en el escritorio, etc. Los escritorios virtuales dividen la pantalla en partes o escritorios, donde se puede tener por cada escritorio un conjunto de ventanas dado, y se puede cambiar de escritorio a escritorio tan fácilmente como cambiarse de una aplicación a otra.

Las aplicaciones y las librerías de widgets

XWindow provee una librería de programación estandard llamada XLib, la cual es muy básica y no fue pensada para hacer aplicaciones directamente sobre ella (si bien las hay), sino mas bien para ser usada por otras librerías de mas alto nivel de abstracción y proveer de las funciones básicas de comunicación, dibujado, etc. de XWindow.

Por lo tanto las aplicaciones son desarrolladas sobre librerías que proporcionan los denominados "widgets" y otras utilidades.

Los widgets son los controles con los cuales el usuario interactúa con las aplicaciones, es decir, son las cajitas de texto, las etiquetas, los botones, etc., y que juntos forman la interfase de las aplicaciones.

Existen muchas librerías de widgets y por lo tanto hay varios estilos de interfases y muchos programas se ven diferentes a otros debido a que usan una librería de widgets diferente. Sin embargo hay algunas librerías de widgets que son mas comunmente usadas, pero éstas por lo general permiten una amplia configuración de la visualización y el comportamiento al usuario, y por eso si uno observa el entorno gráfico de dos usuarios, por lo general encontrará diferencias.

Que halla tal variedad y flexibilidad no es algo malo, sino que ésto permite al usuario estar a gusto con su entorno gráfico, y hasta identificarse con él.

Los entornos integrados de escritorio

Éstos van mas allá de un manejador de ventanas y una librería para crear aplicaciones sobre ella; proveen un conjunto de aplicaciones, librerías y otros sistemas, para lograr mayor integración entre sus aplicaciones y mayor integración de éstas con el entorno.

Algunos de los aspectos que definen los entornos integrados de escritorio son:

  • el funcionamiento del drag&drop (ej. cuando se arrastra un archivo de imagen sobre un procesador de texto).
  • la intercomunicación entre aplicaciones.
  • extensiones al manejador de ventanas para que soporte mas cosas y se integre mejor con las aplicaciones.
  • arquitectura de aplicaciones formadas por componentes embebidos (ej. embeber una planilla de cálculo en un procesador de texto).
  • configuración centralizada y compartida (ej. se cambia un seteo y se refleja en todas las aplicaciones).
  • manejo de sesiones (éste punto también puede ser realizado por algunos manejadores de ventanas u otros programas y consiste en apagar el sistema en un estado dado y al reiniciarlo que vuelva al estado en que se encontraba, es decir, con todas las aplicaciones con las cuales el usuario estaba trabajando abiertas y con los documentos o datos que estaban manejando).
  • otras cosas que redundan en una mayor integración entre las aplicaciones y el entorno (ej. íconos estandard, teclas de acceso rápido estandard, etc.).

Conclusión

XWindow es el entorno gráfico utilizado por la mayoría de los Unix y por GNU/Linux también.

Posee una arquitectura cliente-servidor que permite ejecutar aplicaciones remotamente y con una buena abstracción del hardware.

Es muy flexible y permite una total configuración tanto del aspecto visual como el comportamiento del mismo.

Enlaces

Implementaciones de XWindow:
Librerías de widgets:
Manejadores de ventanas:
Entornos integrados de escritorio:
Otros enlaces: