GNOME en Debian

1. Introducción
1.1. ¿Qué es GNOME?
1.2. Historia
2. Versiones de GNOME según rama de Debian
3. Instalación
3.1. Stable (Lenny)
3.2. Testing (Squeeze)
3.3. Sid
4. Configuración
4.1. Configuración general del escritorio
4.2. Programas concretos
5. Otros programas de interés
6. Noticias
7. Referencias

1. Introducción

1.1. ¿Qué es GNOME?

GNOME es un entorno de escritorio y plataforma de desarrollo para sistemas operativos Unix y GNU/Linux. Forma parte oficial del proyecto GNU, naciendo como una alternativa a KDE cuando las librerías usadas por este (las Qt) tenían una licencia propietaria. GNOME viene de GNU Network Object Model Environment. Utiliza las bibliotecas GTK y se trata de un entorno multilingüe, con soporte para el castellano.

Según sus autores, el proyecto GNOME provee dos cosas: El entorno de escritorio GNOME, un intuitivo y atractivo escritorio para los usuarios, y la plataforma de desarrollo de GNOME, un extenso framework para construir aplicaciones que se integren en el resto del escritorio. Los objetivos primordiales son:

  • Libertad. GNOME es software libre, y forma parte (tal y como ya hemos comentado) del proyecto GNU.
  • Usabilidad. GNOME entiende por usabilidad crear software que sea sencillo de usar para todo el mundo. la comunidad de voluntarios y profesionales de GNOME han creado el Human Interface Guidenes para esta labor.
  • Accesibilidad. GNOME provee un framework de Accesibilidad, resultado de años de esfuerzo, que hacen de GNOME el escritorio más accesible para personas discapacitadas disponible en plataformas UNIX.
  • Internacionalización. GNOME es usado, desarrollado y documentado en docenas de idiomas, asegurando que toda pieza del proyecto sea traducida a dichos idiomas.
  • Desarrollo-amigable. Los desarrolladores no están atados a ningún lenguaje de programación en particular. Puedes usar C, C++, C#, Python, Perl y Java para producir aplicaciones de alta calidad que se integren bien en el resto del entorno.
  • Organización. GNOME posee una organizada comunidad, con gran cantidad de miembros y equipos (usabilidad, accesibilidad, QA, etc). Las nuevas versiones de este entorno, definidas por el GNOME release team son programadas para ocurrir cada 6 meses
  • Comunidad. GNOME dispone de una comunidad de voluntarios a lo largo del globo que participan en el proyecto bien sea con código, con traducciones, diseño, QA, etc.

1.2. Historia

En 1996, el desarrollo del proyecto KDE comienza. Se trata de software libre, pero miembros del proyecto GNU fueron críticos con la dependencia de este entorno con el toolkit no libre Qt. En agosto de 1997, fueron iniciados dos proyectos en respuesta a esto: Harmony (alternativa libre a las Qt) y GNOME, escrito en base a un toolkit licenciado bajo la LGPL, lo cual permite desarrollar con más libertad (incluso se permite desarrollar software propietario).

Con el licenciamiento dual de las Qt en 1998, Harmony finalmente cesó en su desarrollo a finales de 2000, puesto que KDE ya no dependía de software no libre. El proyecto GNOME no paró entonces, sino que adquirió una personalidad propia.

La primera versión estable liberada de Gnome fue la 1.0, que data de 1999 y estaba construída sobre las GTK 1.0. 2 versiones mayores le siguieron, la 1.2 (cuyo sobrenombre fue "Bongo", y data de Mayo de 2000) y la 1.4 (Abril de 2001, nombre en clave "Tranquility").

Un año pasó hasta que en Junio de 2002, Gnome dio el salto a las GTK2, introduciéndose además el Human Interface Guidelines. Fue entonces cuando empezó el ciclo que hoy conocemos de liberaciones programadas cada 6 meses, de forma que cada otoño y cada primavera vemos una nueva versión de este popular entorno. Las versiones impares (por ejemplo 2.15) quedan reservadas para desarrollos, y su liberación (cuando dicho desarrollo madura) se hace con un número par (en este caso, 2.16).

Han pasado ya 7 años desde que GNOME 2.0 fue liberado, y el desarrollo desde entonces no ha cesado, introduciendo nuevas características, y mejorando las preexistentes versión a versión. En el último año, el movimiento ha sido aún mayor, puesto que ha sido anunciado que previsiblemente, GNOME 2.30 será renombrado a GNOME 3.0, cambiando además de versión de toolkit (GTK3).

2. Versiones de GNOME según rama de Debian

En la web de debian podemos comprobar qué versión de Gnome está disponible para nuestra rama de Debian:

Ahora mismo (marzo de 2011) la situación es la siguiente:

  • Stable (Squeeze): GNOME 2.30-1
  • Testing (Wheeze): GNOME 2.30-3
  • Sid: GNOME 2.30+7 con algunos paquetes de GNOME 2.9

Actualmente, la rama Stable de Debian (Squeeze) está todavía en la rama 2.30 del escritorio. Actualmente, algunos paquetes de GNOME 2.9 están empezando a entrar en experimental, y en estos momentos se está esperando el lanzamiento oficial de GNOME 3 para que empiecen a entrar tanto en Sid como en Testing (Wheezy). Recientemente, algunos paquetes de GNOME 2.9 (futuro GNOME 3) están empezando a entrar en Experimental.

4. Configuración

La configuración general de Gnome se realiza principalmente a través del paquete gconftool-2 o su equivalente gráfico gconf-editor. Ambas herramientas trabajan sobre GConf, que es la base de datos de preferencias de Gnome, un sistema parecido al Registro de Microsoft Windows, compuesta de un sistema jerárquico de directorios que contienen claves y/o subdirectorios.

Dentro de la configuración de GConf los archivos a tener en cuenta se encuentran dentro de ~/.gconf. Sobre esta base se construye una serie de directorios y subdirectorios donde se encuadra toda la configuración de Gnome. Cada paquete que instalemos añadirá su propio directorio al conjunto, en su correspondiente sección, para seguir con la jerarquía de la configuración.

Todos los directorios de GConf terminan en un par «clave-valor», cuyo contenido puede ser modificado mediante las herramientas señaladas antes. El cambio de valor conlleva un cambio inmediato en la configuración sin la necesidad de reinicio. El valor de cada clave varía de una a otra, aceptando valores de tipo numérico, booleano, texto, etc.

Si nos centramos en gconftool-2, algunas de sus opciones básicas son:

  • -s, --set : Establece el valor de una clave. Se usa junto a --type.
  • -g, --get : Muestra el valor de una clave por la salida estándar.
  • -a, --all-entries : Muestra todos los pares clave-valor de un directorio.
  • --all-dirs : Muestra todos los subdirectorios de un directorio.
  • -R, --recursive-list : Muestra todos los subdirectorios y entradas de un directorio recursivamente.
  • -t, --type=int|bool|float|string|list|pair : Especifica el tipo de valor de una clave (dependiendo de la clave se utiliza uno u otro).
  • -?, --help : Muestra el mensaje de ayuda.

Así, por ejemplo, para cambiar el tipo de letra que usan los iconos del escritorio deberíamos usar:

$ gconftool-2 -t string -s /apps/nautilus/preferences/desktop_font «Droid 12«

Para quitar los iconos del menú de Gnome sería:

$ gconftool-2 --type Boolean --set /desktop/gnome/interface/menus_have_icons False

Y para que nos muestre la configuración de un programa bastaría con:

$ gconftool-2 -R /apps/eog

Existen más opciones de configuración, pero estas son las más comunes. Para el resto se recomienda consultar el man.
La mayoría de veces tendremos suficiente con esta herramienta. Pero cualquiera que use Compiz y pretenda mostrar las opciones por pantalla verá que es demasiada información para procesarla de una vez. Para estos casos resulta más cómodo y rápido acudir a la propia configuración del programa en cuestión o en todo caso usar gconf-editor.

El paquete gconf-editor es básicamente un "front-end" gráfico o GUI de gconftool-2 (con la ventaja de poder añadir marcadores para que el acceso a las claves sea más rápido).

Cuando se ejecuta gconf-editor se abre una ventana dividida en tres partes. A la izquierda se muestra en forma de árbol los directorios que posee la base de datos de nuestro sistema. Si vamos abriendo directorios a la derecha se nos muestra la información pertinente dividida en dos. En la parte superior están todos los pares «clave-valor» y en la parte inferior se nos muestra la documentación (metadatos) cada vez que señalamos una clave con el ratón.

Los valores de la documentación también se pueden modificar cambiando los «esquemas» (o archivos de configuración) a través de varias opciones de gconftool-2.

Como ya se ha dicho, hay que tener en cuenta que en la mayoría de casos cada paquete/programa se podrá configurar con alguna opción dentro del mismo sin necesidad de utilizar GConf. Lo que esta herramienta ofrece es una forma de centralizar toda la configuración en una misma base de datos.

En el esquema de árbol que sigue gconf-editor nos encontramos con cuatro directorios dependientes del directorio raíz, a saber:

 /
|- apps (Programas y paquetes instalados).
|- desktop (Todo lo relativo al entorno de escritorio propiamente dicho).
|- schemas (Configuraciones específicas)
|- system (Algunas variables del sistema)

Pretender especificar todas y cada una de las claves sería casi imposible, ya que cada paquete que instalemos añadirá su propio directorio dentro del árbol. En vez de ello tomaremos un programa de ejemplo, File-roller (el gestor de archivadores por defecto de Gnome), y veamos su configuración.

 /
|-apps
|    |-file-roller
|    |    |-dialogs
|    |    |    |-add
|    |    |    |-batch-add
|    |    |    |-extract
|    |    |-general
|    |    |-listing
|    |    |-ui

Si pulsamos con el ratón sobre uno de los directorios veremos a la derecha las claves incluidas en ese directorio con el valor de cada una de ellas. En la parte inferior no veríamos información alguna.
Para seguir con el ejemplo, pulsemos sobre el directorio "general". Automáticamente nos muestra todos los pares "clave-valor" a la derecha:

  • -compression_level | normal
  • -editors | [ ]
  • -encrypt_header | O
  • -migrate_directories | O

Si observamos, la primera clave tiene como valor una cadena de texto. El valor que trae por defecto es "normal". Si pulsamos con el ratón sobre dicha clave, veremos como los datos en la parte inferior cambiam para mostrarnos la información pertienente de la clave seleccionada, junto con posibles opciones:

  • Nombre de la clave: /apps/file_roller/general/compression_level
  • Propietario de la clave: file-roler
  • Descripción corta: Compression level
  • Descripción larga: Compression level used when adding files to an archive. Possible values : very_fast, fast, normal, maximum.

Basta hacer un doble click en el campo valor (o pulsar Intro si está la clave seleccionada) para poder cambiar el valor por defecto por otro. Lógicamente debemos respetar las opciones disponibles o, en el caso de no haberlas, el tipo de la clave (Booleana, numérica, texto, esquema, lista o parejas, cada una posee un icono propio).

Otra forma de realizar este mismo cambio sería mediante la terminal:

$ gconftool-2 -t string -s  /apps/file-roller/general/compression_level "maximum"

Existen paquetes que ofrecen pocas posibilidades de configuración (como por ejemplo evince, que solo ofrece un par "clave-valor") y otros con muchoas (como por ejemplo compiz, que ronda los 1.300 pares dependiendo de la cantidad de plugins que tengamos instalados).

$ gconftool-2 -R / > claves.txt

Para los que busquen tenerlo todo a mano.

4.1. Configuración general del escritorio

Dentro de gconftool-2 (o gconf-editor), las claves para modificar el escritorio de Gnome son /apps/gnome-screensaver (protector de pantalla), /apps/gnome_setitings_daemon (combinaciones de teclas), /apps/metacity (decorador de ventanas), /apps/nautilus (navegador de archivos), /apps/panel (barras de panel de Gnome) y /desktop/gnome.

Cuando accedemos al escritorio por primera vez nos encontramos con un entorno bastante "simple" compuesto de dos paneles (superior e inferior), iconos de escritorio y el fondo de escritorio propiamente dicho.

4.1.1 Paneles de Gnome.

Los paneles de gnome son su principal característica (al menos hasta la salida de Gnome3, donde la interfaz cambia por completo). En ellos se ubican los "applets" o pequeños programas que utiliza Gnome. Para configurarlos tenemos dos opciones, bien haciendo click con el botón derecho del ratón sobre el panel que deseamos configurar, y seleccionando la opción correspondiente (en este caso "Propiedades") o bien con gconftool-2 (gconf-editor) en /apps/panel.

Usando el menú contextual (click derecho con el ratón sobre el panel) de Propiedades podemos editar varias opciones de dicho panel:

-Orientación: Podemos decidir en qué lado de la pantalla queremos tener el panel. Por defecto Gnome viene con un panel superior y otro inferior. Cambiando esta propiedad moveríamos el panel seleccionado a la posición elegida.
Para crear o borrar un panel debemos abrir el menú contextual sobre el panel que queramos borrar y seleccionar la opción "Borrar este panel" o bien "Panel nuevo" si lo que queremos es crear otro.
Cuando creemos uno nuevo nos volverá a salir el diálogo de Propiedades para que indiquemos la posición en la que queremos ubicar el panel.

-Tamaño: Por defecto la altura del panel es de 24 píxeles. El tamaño mínimo es de 18 y el máximo 180. El cambio es automático, así que se puede ver cómo queda el panel a medida que vas modificando su altura.

-Expandir: Esta opción hace que el panel ocupe todo el ancho de la pantalla. Al desmarcarla el panel queda centrado y ve su tamaño reducido a una anchura proporcional para que quepan los applets que tienes en él.

-Ocultar automáticamente: Esta opción hace que el panel se oculte hacia el borde de la pantalla donde está colocado. Para hacer que aparezca basta acercar el ratón hacia dicho borde (hay que tener en cuenta que si el panel no tiene la opción "Expandir" activada, es necesario que el ratón toque el borde que ocupa el panel, ya que si lo acercamos a una zona no abarcada por el mismo el panel no aparecerá).
Podemos observar al ocultar el panel que este no termina de desaparecer del todo. Bien, esto es debido a que por defecto gconftool-2 tiene marcado un ancho mínimo, así que siempre veremos una línea donde debería aparecer el panel. Para cambiar esta propiedad podemos usar gconftool-2.

4.1.2 Directorio del Escritorio
GNOME en Debian siempre nos crea un directorio ~/Desktop que es donde se guarda los lanzadores que poseemos en nuestro escritorio, para asignar otro directorio hay que crear un archivo denominado user-dirs.dirs en ~/.config con la siguiente linea:

XDG_DESKTOP_DIR="$HOME/Escritorio"

O si queremos que en nuestro escritorio esté nuestra /home, hay que modificar lo siguiente en gconftool-2:

$ gconftool-2 -t Boolean -s /apps/nautilus/preferences/desktop_is_home_dir True

7. Referencias

http://www.gnome.org/about/
http://www.en.wikipedia.org/wiki/GNOME
http://www.es.wikipedia.org/wiki/Gnome
http://projects.gnome.org/gconf/