Guía v5/GNOME, el compañero diario

De Guadapedia, la enciclopedia libre.

Tabla de contenidos

GNOME, el compañero diario

El logotipo de GNOME.
Enlarge
El logotipo de GNOME.

Hemos hablado del kernel Linux movilizando como un héroe los componentes del ordenador; hemos elogiado la libertad e integridad ética de las aplicaciones de sistema del proyecto GNU; hemos reconocido los méritos y honores de la distribución madre Debian y de su hija aventajada Ubuntu; también nos hemos referido a repositorios con miles de paquetes listos para ser descargados e instalados para nuestro gozo y disfrute. Sin embargo, para la mayoría de nosotros todo este despliegue sería inútil, por inalcanzable, sin la silenciosa y abnegada colaboración de nuestro gran amigo el entorno de escritorio.

¿Quién nos da la bienvenida con un saludo colorado cada vez que llegamos a trabajar? ¿Quién se entretiene en organizar familias de iconos para que identifiquemos visualmente cada cosa y la recordemos mejor? ¿Quién convierte al ratón en nuestra mano derecha (o izquierda, si somos zurdos)? ¿Quién dispone nuestra mesa virtual y vertical con paneles y ventanas para que combinemos acciones simultáneas casi sin darnos cuenta? ¿Quién copia todo lo que seleccionamos para luego engancharlo allí donde lo queramos pegar? ¿Quién arrastra sin reticencias lo que pinchamos y lo suelta sin discutir? En resumen ¿quién está siempre dispuesto a servirnos en cuanto movamos un dedo?

Señoras y señores, todas estas preguntas tienen una misma respuesta. Les pedimos un aplauso para el humildemente discreto, el atentamente servicial, el cálidamente accesible y simplemente eficaz entorno de escritorio (aplausos).


La metáfora del escritorio

Estamos tan acostumbrados a interactuar en nuestra pantalla con ventanas, iconos, menús y el puntero del ratón que casi ni nos planteamos que estos elementos forman parte de una abstracción. El escritorio, esa pantalla inicial en la que aterrizamos después de arrancar el ordenador e identificarnos con el sistema, es una consolidada ficción que los programadores crearon para facilitar la vida a los usuarios. Esta ficción nos remite a nuestros escritorios reales, con su superficie bidimensional y rectangular equivalente a la mesa, una foto de fondo, una papelera, notas recordatorias enganchables, carpetas de archivos, documentos visualizados como hojas de papel, etc.

Otras ficciones son posibles. En la actualidad se están desarrollando sistemas que van dejando atrás esta metáfora bidimensional del escritorio para pasar a espacios tridimensionales más cercanos a fondos marinos buceables (metáfora del submarinista) o cielos aéreos donde los objetos que nos interesan se acercan mágicamente a nuestras manos (¿metáfora del semidios?). Tom Cruise se manejaba cual Herbert von Karajan a la batuta con una de esas metáforas en Minority Report. Hay ejemplos menos ficticios y más próximos a la realidad actual como el proyecto Looking Glass de Sun [1] (http://www.sun.com/software/looking_glass/). Y toda esta evolución de concepto se la debemos básicamente a los sangrientos videojuegos de acción en primera persona (para que luego digan).


La interfaz gráfica de usuario (GUI)

Familiarmente, llamamos interfaz al conjunto de elementos en la pantalla que nos permiten operar con el ordenador y sus aplicaciones. Ventanas, iconos, carpetas, menús... forman parte de las interfaces gráficas a las que estamos acostumbrados.

La metáfora del escritorio fue técnicamente posible a principios de los años ochenta gracias a los avances realizados en la creación de una interfaz gráfica de usuario (denominada con frecuencia GUI, de Graphical User Interface) [2] (http://en.wikipedia.org/wiki/History_of_the_GUI). Los ordenadores al principio no tenían ni pantalla: sus resultados eran plasmados en tarjetas de papel perforadas y luego hojas impresas en tinta. El uso de monitores ya fue todo un avance, pero durante bastante tiempo se limitaron a ofrecer sólo caracteres y acceso por teclado. Aunque hoy hasta un niño pueda abrir un editor gráfico y dibujar una casita, hubo un tiempo en que el primer trazo de una circunferencia en pantalla fue todo un acontecimiento.

En 1984, Macintosh popularizó su interfaz gráfica de usuario, que ya incorporaba buena parte de los elementos que dos décadas más tarde seguimos utilizando: pulsar sobre menús desplegables, arrastrar iconos a la papelera para eliminarlos, copiar y pegar... Microsoft estrenó MS Windows en 1985 emulando Mac OS, lo que inició una batalla comercial que la empresa de Bill Gates no empezó a dominar hasta los años 90, con su MS Windows 3.0.


X o el cristal de las ventanas libres

Mientras las ventanas de Apple y Microsoft empezaban a librar su batalla, los gráficos iban penetrando en el mundo UNIX, sobre todo a través del sistema de ventanas X, conocido también como X11. GNU/Linux adoptó este sistema tan pronto como dio sus primeros pasos en los entornos gráficos y hoy día es la aplicación de sistema que corre por debajo de todos los escritorios fieles al pingüino Tux.

El desarrollo modular y descentralizado típico de la comunidad del software libre no tuvo uno de sus mejores ejercicios en el proyecto X. La descoordinación inicial de iniciativas y la falta de protocolos comúnmente aplicados sembró una serie de problemas que aún hoy día los usuarios y desarrolladores de GNU/Linux sufrimos (aunque cada vez menos):

  • La no imposición de normas de interfaz de usuario propició el nacimiento y consolidación de sistemas muy diferentes de interfaz para aplicaciones. Fruto de esto surgieron las dificultades para que una aplicación que se presentara correctamente en un escritorio (ej: GNOME) tuviera también un correcto funcionamiento y presentación en otro escritorio (ej: KDE). Aunque técnicamente puedan convivir diferentes sistema de interfaz en un mismo escritorio, como hoy sucede en la mayoría de casos, esta diversidad de diseños generan una sensación de desorden y variable confusión a los usuarios.
  • Por lo que al sonido se refiere, también se crearon sistemas diferentes e incompatibles entre ellos. Esto propició otra opereta de la confusión para miles de usuarios con problemas intentando escuchar música, vídeo o los ruiditos varios que pueden acompañar las acciones del escritorio y las aplicaciones en general. Y es que el escritorio no sólo atañe a la interfaz visual sino también a la sonora.
  • La tercera batalla, bastante dominada ya, se libró en el terreno de la impresión en papel: otra odisea para miles de usuarios (incluso avanzados) de escritorios libres. El consenso de unas especificaciones comunes y su adopción por parte de los programadores está dejando atrás esta impresionante pesadilla.

Sea o no por casualidad, resulta que a estos problemas propios de las X se sumaban (y aún suman) las complicaciones relacionadas con drivers no-libres y por tanto no-adaptables de tarjetas de vídeo, tarjetas de sonido e impresoras. La combinación de estas dos problemáticas les ha causado quebraderos de cabeza a muchos usuarios, algunos de los cuales han terminado volviéndose a los sistemas de licencia propietaria. No es de extrañar, por tanto, que el buen rendimiento de las X y el escritorio sea máxima prioridad para cualquier distribución GNU/Linux que se precie.

Los desarrolladores de escritorios han hecho un gran avance en este proceso de compatibilización y resolución de problemas colaborando conjuntamente en el proyecto freedesktop.org [3] (http://freedesktop.org). Como resultado concreto, hoy día la mayoría de aplicaciones pensadas para GNOME se pueden utilizar en KDE y viceversa, aunque sus interfaces no estén plenamente integradas.


La interfaz de línea de comandos (CLI)

Antes de la metáfora del escritorio, había una línea de comandos (la llamada CLI, de Command Line Interface). La interfaz habitual consistía en el tecleo directo de instrucciones en pantallas sólo de texto, sin gráfico alguno y por tanto sin puntero de ratón. La interfaz de comandos fue compañera habitual de los veteranos con sus pantallas de fósforo verde; y tampoco hace tanto que los usuarios de MS Windows recurrían a ella para realizar acciones especiales con MS DOS. En las películas aún es frecuente ver a detectives removiendo con nocturnidad bases de datos a través de la linea de comandos, así como criminales sin escrúpulos penetrando con alevosía en los sistemas informáticos del banco central.

En GNU/Linux, la línea de comandos sigue vivita y coleando. Un porcentaje apreciable de usuarios avanzados vive feliz trabajando con ella casi sin necesidad de escritorio gráfico. Dado que el entorno de escritorio es una colección de aplicaciones que puede consumir no pocos recursos del sistema, prescindir de él implica ahorro de procesador y memoria RAM, lo que repercute en una mayor velocidad del sistema. Por esta razón, no es de extrañar que Trinity y sus camaradas de la Resistencia luchen contra Matrix a golpe de teclado y linea de comandos. Keanu Reeves sería cazado sin contemplaciones por el agente Smith de tener que esperar el tiempo que Tom Cruise necesitaba para poner en marcha su escritorio flotante.

Por razones de ahorro de recursos, seguridad y estabilidad, los ordenadores utilizados como servidores no acostumbran a tener instaladas las X ni escritorio alguno. Para interactuar con un servidor local o remoto se suele trabajar enteramente sobre la linea de comandos. Una forma mixta de trabajo consiste en activar las X con un sistema de escritorio minimalista que interacciona por línea de comandos pero es capaz de activar aplicaciones gráficas y de operar con el ratón, por lo que una vez abierto el navegador o el programa de correo su interacción con él es la misma que si lo estuviéramos haciendo desde un escritorio corriente enteramente gráfico.

Para gustos, los colores.


Nuestro pie izquierdo

En la actualidad, GNOME [4] (http://gnome.org) es uno de los dos escritorios más utilizados en los entornos GNU/Linux, y el que vamos a encontrar por defecto cuando probemos el CD adjunto a esta Guía. El otro escritorio de referencia es KDE [5] (http://kde.org) y entre ambos mantienen una sana rivalidad. XFce [6] (http://xfce.org) es el tercer escritorio libre más popular, siendo generalmente utilizado en sistemas que requieren pocos recursos de memoria.

GNOME reune a cientos de colaboradores voluntarios y profesionales repartidos en varios subproyectos. Cuando hablamos de GNOME estamos hablando de:

  • Un escritorio gráfico con todas las funciones básicas para administrar un ordenador y lanzar aplicaciones.
  • Una colección de aplicaciones de oficina, Internet, multimedia, diseño, etc, plenamente integradas al escritorio. Su objetivo es cubrir las necesidades básicas de la mayoría de usuarios.
  • Un conjunto de bibliotecas para el desarrollo de aplicaciones gráficas integradas a GNOME pero compatibles también con otros escritorios.
  • Una amplia comunidad que se comunica a través de webs, listas de correo, canales de chat y encuentros presenciales en diversos países.

El símbolo que une a todos los simpatizantes de GNOME es un pie entre simio y humano, que primero fue derecho pero luego cambió a ser izquierdo, estilizado y con forma de G.


Un poco de historia

GNOME nació allá por 1997, en los tiempos en que MS Windows 95 iba camino de la hegemonía mundial y en los que era patente que el software libre no llegaría muy lejos sin un escritorio gráfico potente. Los mexicanos Miguel de Icaza [7] (http://tirania.org/) y Federico Mena [8] (http://primates.ximian.com/~federico/) compartían estas inquietudes gráficas. Tras múltiples contactos con otros desarrolladores simpatizantes y practicantes del software libre, vieron que los ingredientes del mole estaban en su punto y se pusieron manos a la obra.

Icaza y Mena intentaron primero colaborar con KDE, proyecto que ya existía y que había obtenido unos primeros resultados concretos y muy positivos. Pero KDE, aun siendo libre en sí mismo, se basaba en unas bibliotecas no-libres, lo que a los futuros gnomitas les pareció un error conceptual. Intentaron convencerles sobre la liberación de las bibliotecas y, al no conseguirlo, optaron por empezar un nuevo proyecto al que denominarían GNOME. Cuando años más tarde KDE disfrutó de bibliotecas libres GNOME ya era un escritorio consolidado y sin marcha atrás.

La red inicial de colegas y contactos se interesó por los primeros desarrollos, y la comunidad GNOME empezó a florecer, ofreciendo una inestable primera versión en marzo del 1999. RedHat [9] (http://redhat.com) fue la primera empresa que apostó por este escritorio para su distribución. En el año 2000, Sun Microsystems [10] (http://es.sun.com/) anunció la adopción de este escritorio para su sistema operativo Solaris y la creación de un departamento de desarrollo, mientras que IBM y Hewlett-Packard también ofrecieron apoyo y desarrollo al proyecto. De esta forma lo que había empezado siendo la aventura de dos ya era la aventura de muchos, con una participación combinada de desarrolladores voluntarios y profesionales, comunidad independiente y entornos corporativos.

Durante este proceso, Miguel de Icaza creó la empresa Helix Code con Nat Friedman [11] (http://www.nat.org/), que había sido uno de esos nodos de la red inicial de contactos. Se conocieron en las oficinas de Microsoft, donde Nat trabajaba de becario. La anécdota es que Miguel no fue aceptado en la empresa de Bill Gates por tener inacabados sus estudios universitarios. Helix, con Federico Mena también en pantilla, pasó a llamarse Ximian y en el 2003 fue adquirida por la multinacional Novell [12] (http://novell.com).

A este árbol genealógico de la comunidad GNOME, mínimo e injusto por las ausencias, se le deberían añadir dos proyectos de base: GNU y GIMP. El proyecto GNU [13] (http://gnu.org) recopilaba las aplicaciones necesarias para el desarrollo de un sistema operativo libre, y GNOME paso a ser parte del paraguas. GIMP [14] (http:/gimp.org) era ya un programa de tratamiento de imágenes antes de que GNOME existiera, y el escritorio adoptó su biblioteca de diseño de interfaces gráficas, denominada GTK+ (de Gimp Toolkit). Ya hemos hablado del proyecto GNU al principio de este capítulo, mientras que GIMP es analizado más a fondo en su propio apartado dentro del capítulo 6 (Mil y un programas libres y gratuitos).

El escritorio GNOME, hoy

Una vez que hemos iniciado el ordenador y nos hemos identificado, GNOME empieza a tomar posesión de la pantalla. Tras unos instantes de carga aparece nuestro escritorio con su imagen de fondo, iconos y paneles de acceso a los menús y nuestras aplicaciones favoritas. A partir de ahí podemos empezar a trabajar con nuestro ratón y teclado.

GNOME apuesta por el minimalismo y la nitidez. Los escritorios que ofrecen por defecto las distribuciones GNU/Linux basadas en GNOME acostumbran a ser simples, descargados, casi vacíos. Detrás de esta calma visual se encuentra un potente y latente entorno gráfico. Hay quien prefiere mantener esta simplicidad incorporando sólo pequeñas personalizaciones (una foto favorita de fondo, algunas lanzaderas a las aplicaciones más utilizadas y poco más). Hay en cambio quien se siente más incentivado por aplicar el principio del tuning a su escritorio sobrecargándolo de indicadores en tiempo real, pequeñas aplicaciones (applets) que ofrecen desde previsiones meteorológicas a teletipos bursátiles, colecciones sonoras y demás objetos gráficos repartidos por una o varias pantallas (sesiones).

Es decir, la vieja y conocida dicotomía entre lo clásico y lo barroco reproducida esta vez en la decoración y uso del escritorio. Más sobre este tema en el apartado Personalizar el escritorio del capítulo 4 (Coloniza tu sistema).

Aparte de los elementos que tenemos a la vista en la pantalla inicial, GNOME incluye toda una serie de funcionalidades que conforman la arquitectura del escritorio. Desde un punto de vista del usuario estas funcionalidades se podrían organizar así:

  • Documentos: detección de tipos de documento, inicio de la aplicación apropiada para acceder y trabajar con cada uno, organización en árboles de directorios, búsqueda de ficheros, gestión de permisos de lectura y escritura...
  • Ventanas: comportamiento y aspecto de las ventanas, funciones como copiar y pegar, arrastrar y soltar...
  • Multimedia: integración de audio y vídeo, capacidad de reproducción y grabación en varios formatos.
  • Impresoras: impresión de documentos e integración con impresoras.
  • Idiomas: disponibilidad y uso del escritorio en idiomas diferentes al inglés.
  • Preferencias: gestión y almacenamiento de nuestra configuración deseada para las múltiples opciones del escritorio.
  • Encriptación: gestión de claves para las comunicaciones firmadas electrónicamente y encriptadas.
  • Integración: para que todo lo anterior fluya de forma natural es preciso intercomunicar de forma eficiente múltiples procesos y diálogos entre aplicaciones.

La combinación de estas funcionalidades da como resultado un escritorio que, idealmente, pasa desapercibido para ceder el protagonismo a las aplicaciones con las que trabajamos.

El proyecto GNOME genera nuevas versiones de su escritorio con una periodicidad semestral, que es la que indirectamente ha definido la misma periodicidad que Ubuntu se marca para lanzar las nuevas versiones de su distribución. El sistema de numeración de versiones sigue la misma política que la utilizada por los desarrolladores del kernel Linux, utilizando números pares para las versiones estables e impares para las versiones de desarrollo. Mientras escribimos estas líneas la última versión estable de GNOME es la 2.12 y se está trabajando en el desarrollo de la 2.13, que desembocará en la primera mitad del 2006 con el lanzamiento de la versión 2.14.

Mientras tanto, va calentando motores el proyecto Topaz [15] (http://browserbookapp.sourceforge.net/topaz/) de desarrollo de la versión 3.0. Esta nueva rama prevee profundos cambios que pretenden consolidar GNOME en la vanguardia de esta especie de Plan de Dominación Mundial (es broma, pero no es broma) que la comunidad del software libre prepara para romper la hegemonía estadística del software no-libre.

Aplicaciones con G de GTK+

El proyecto GNOME abarca también el desarrollo de aplicaciones integradas al escritorio. Algunas son pequeñas aplicaciones que añaden alguna funcionalidad concreta como navegar por el disco duro, realizar capturas de pantalla u ofrecer un calendario perpetuo. Otras son programas en toda regla, entre los que destacan por populares:

  • AbiWord [16] (http://www.abisource.com/): procesador de texto.
  • Epiphany [17] (http://www.gnome.org/projects/epiphany/): navegador web.
  • Evolution [18] (http://www.gnome.org/projects/evolution/): correo electrónico, agenda de contactos y actividades.
  • Gaim [19] (http://gaim.sourceforge.net/): mensajería instantánea y chat.
  • gedit [20] (http://www.gnome.org/projects/gedit/): editor de texto.
  • GIMP [21] (http://gimp.org): edición gráfica avanzada.
  • Gnumeric [22] (http://www.gnome.org/projects/gnumeric/): hoja de cálculo.
  • GnomeMeeting [23] (http://www.gnomemeeting.org/): telefonía y voz sobre IP.
  • Inkscape [24] (http://www.inkscape.org/): diseño gráfico vectorial.
  • Rythmbox [25] (http://www.rhythmbox.org/): reproductor musical y gestor de canciones.
  • Totem [26] (http://www.gnome.org/projects/totem/): reproductor multimedia.

Hay muchas más aplicaciones en GnomeFiles [27] (http://gnomefiles.org/), aunque no todas son libres.

Lo que tienen en común todos estos programas es el uso de la colección de bibliotecas GTK+. Esta herramienta permite a programadores de varios lenguajes (C, C++, Perl, Ruby, Java, Python...) crear aplicaciones perfectamente integradas al escritorio GNOME. Dichas aplicaciones son operativas en otros escritorios basados en X como KDE y pueden ser portadas incluso a MS Windows. Programas como GIMP o Gaim disponen de versiones para este sistema operativo, representando una buena puerta secundaria de acceso al software libre y al entorno GNOME.

GTK era la colección de bibliotecas utilizada por The GIMP ya antes de nacer GNOME, quien lo adoptó como su base de programación gráfica. De ahí sus siglas, que responden a GIMP Toolkit.


La comunidad

GNOME es una comunidad internacional cuyo epicentro parte de gnome.org. No obstante, los contenidos de esta web están principalmente en inglés, salvo excepciones como las notas de prensa y los anuncios de nuevas versiones que se traducen a múltiples idiomas. A nivel hispanohablante GNOME se reune alrededor de GNOME Hispano [28] (http://www.es.gnome.org/).

La comunidad GNOME tiene varios puntos de encuentro y acción:

  • gnome.org [29] (http://gnome.org) es la puerta de entrada a usuarios deseando saber más sobre el proyecto.
  • GNOMEdesktop.org [30] (http://gnomedesktop.org) es el principal canal de noticias de GNOME.
  • Planet GNOME [31] (http://planet.gnome.org/) es el punto de encuentro de los blogs o bitácoras personales de personas relacionadas con el proyecto.
  • GNOME Journal [32] (http://gnomejournal.org/) se publica trimestralmente, ofreciendo artículos de más profundidad.
  • art.gnome.org reúne los esfuerzos de la comunidad en la creacion de iconos, fondos de escritorio y demás objetos gráficos agradables a la vista. Se complementa con la web no oficial GNOME-Look.org [33] (http://www.gnome-look.org/).
  • GNOME Live! [34] (http://live.gnome.org/) es el wiki abierto a la edición pública donde se ubica buena parte de la documentación de los proyectos.
  • mail.gnome.org [35] (http://mail.gnome.org/) es el servidor de listas de correo, la mayoría de decisiones tomadas en GNOME se debaten públicamente en estas listas.
  • Bugzilla [36] (http://bugzilla.gnome.org/) es la base de datos de errores y sugerencias de mejora de todos los proyectos relacionados con GNOME.
  • developer.gnome.org [37] (http://developer.gnome.org/) es el punto de partida hacia los recursos necesarios para cualquiera que quiera colaborar en GNOME a nivel de desarrollo.
  • The GNOME Foundation [38] (http://foundation.gnome.org/) es la organización legal que representa a GNOME y coordina sus pasos, estando formada por los colaboradores del proyecto que deseen participar en ella.

La comunidad GNOME también se encuentra periódicamente en eventos en vivo y en directo, entre los que destacan la GUADEC [39] (http://guadec.org), su pariente hispana GUADEC-ES [40] (http://guadec-es.org), la Boston Summit [41] (http://live.gnome.org/Boston2005) y ahora también la Guademy [42] (http://www.guademy.org/), en un esfuerzo por unir fuerzas con otros escritorios.


    Sigue: Guadalinex, la distribución andaluza