Repositorio de GConf

Cada preferencia en el repositorio de GConf se expresa como un par de valores-clave. Una clave de preferencia de GConf es un elemento en el repositorio que corresponde a una preferencia en una aplicación. Por ehemplo, la clave de preferencia /apps/gnome-session/options/show_splash_screen corresponde a la opción Mostrar la pantalla de bienvenida al iniciar sesión en la herramienta de preferencias Sesiones. El interfaz de usuario del Escritorio GNOME no contiene todas las claves de preferencia en el repositorio de GConf. Por ejemplo, la herramienta de preferencias Panel no contiene una opción que corresponda con la clave /apps/panel/global/tooltips_enabled.

El repositorio está estructurado como un sistema de archivos jerárquico simple. El repositorio contiene lo siguiente:

  • Direcciones que corresponden a las aplicaciones que usan el repositorio de GConf. Por ejemplo, el sistema de archivos contiene el directorio /apps/metacity.
  • Subdirectorios que corresponden con categorías de preferencias. Por ejemplo el sistema de archivos contiene el directorio /apps/metacity/general.
  • Archivos especiales que listan las claves de preferencias en el directorio y contienen información acerca de las claves. Por ejemplo, un archivo que contiene información acerca de las claves referentes a las preferencias del proxy HTTP está en el directorio /system/http_proxy.
  • Un directorio /schemas que contiene archivos que describen todas las claves de preferencias.

Las claves de preferencia generalmente contiene valores simples, tales como cadenas, enteros o listas de cadenas y enteros. El formato de las claves de preferencias en el repositorio depende del módulo de backend usado para leer el repositorio. El siguiente ejemplo muestra la clave de preferencia /desktop/gnome/interface/font_name cuando un módulo backend de «Extensible Markup Language» (XML) se usa para leer el repositorio:

<entry name="font_name" mtime="1038323555" muser="user123" type="string">
<stringvalue>Sans 10</stringvalue></entry>

Cuando esta guía se refiere a una clave de preferencia, la ruta a la clave se añade al nombre de la clave. Por ejemplo, a la clave de preferencia font_name en el subdirectorio /desktop/gnome/interface se la suele llamar /desktop/gnome/interface/font_name.

1.2.1. Fuentes de configuración de GConf

El repositorio de GConf contiene una serie de lugares de almacenamiento llamados fuentes de configuración. Las fuentes de configuración están listadas en la archivo de ruta de GConf. La ubicación del archivo de ruta de GConf es /etc/gconf/número-de-versión-de-gconf/path. Cada usuario tiene un archivo de ruta. El archivo de ruta especifica la siguiente información para cada fuente de configuración.

  • El módulo backend a usar para leer el repositorio.
  • Los permisos sobre el repositorio.
  • La ubicación del repositorio.

La ruta de archivo de GConf también contiene instrucciones include. De forma predeterminada el contenido de el archivo de ruta de GConf es el siguiente:

xml:readonly:/etc/gconf/gconf.xml.mandatory
include /etc/gconf/2/local-mandatory.path
include "$(HOME)/.gconf.path"
include /etc/gconf/2/local-defaults.path
xml:readwrite:$(HOME)/.gconf
xml:readonly:/etc/gconf/gconf.xml.defaults

Cuando GConf busca el valor de una preferencia, GConf lee las fuentes de configuración en el orden especificado por el archivo de ruta. La siguiente tabla describe las fuentes de configuración en el archivo de ruta.

Configuración fuente Descripción
Obligatorio Los permisos sobre esta configuración fuente están establecidos a sólo lectura. Los usuarios no pueden sobreescribir los valores en esta fuente, de tal forma que las preferencias en la fuente son obligatorias.
Usuario

Esta configuración fuente se almacena en el directorio .gconf dentro del directorio de inicio del usuario. Cuando el usuario establece una preferencia, la nueva información de la preferencia se añade a esta ubicación.

Puede usar el Editor de configuración para modificar la configuración fuente de un usuario.

Predeterminado Esta configuración fuente contiene los ajustes predeterminados de preferencias.

La secuencia de las fuentes de configuración en el archivo de ruta asegura que los ajustes de preferencias obligatorias sobreescriben los ajustes de preferencias del usuario. La secuencia también se asegura que los ajustes de preferencias del usuario sobreescriben los ajustes de preferencias predeterminados. Esto es, GConf aplica las preferencias con la siguiente prioridad:

  1. Preferencias obligatorias
  2. Preferencias especificadas por el usuario
  3. Preferencias predeterminadas

Las instrucciones include en la ruta de archivo de GConf permiten a los administradores del sistema especificar otras fuentes de configuración.

Fuente de configuración incluida Descripción
/etc/gconf/2/local-mandatory.path Use esta fuente configuración para almacenar valores de preferencias obligatorios para un sistema particular.
$(HOME)/.gconf.path El usuario especifica la ubicación de la configuración fuente en el directorio de inicio, en un archillo llamado .goncf.path.
/etc/gconf/2/local-defaults.path Use esta configuración fuente para almacenar los valores de preferencias predeterminados para un sistema particular.

1.2.2. Esquemas de GConf

Un esquema de GConf es un término colectivo para una clave de esquema de GConf y un objeto de esquema de GConf. La siguiente tabla describe las claves y objetos de esquema y su relación con las claves de preferencias.

Elemento Descripción
Clave de preferencia Un elemento en el repositorio de GConf que corresponde con la preferencia de una aplicación.
Clave de esquema Una clave que almacena un objeto de esquema para una clave de preferencia.
Objeto de esquema

Un elemento en una configuración fuente que contiene información para una clave de preferencia, tal como:

  • El nombre de la aplicación que usa la clave de preferencia.
  • El tipo de valor requerido por la clave de preferencia, por ejemplo entero, booleano y demás.
  • Un valor predeterminado para la clave de preferencia.
  • Breve documentación sobre la clave de preferencia.

La siguiente tabla proporciona ejemplos de una clave de preferencia, una clave de esquema y un objeto esquema:

Elemento Ejemplo
Clave de preferencia /desktop/gnome/interface/font_name
Clave de esquema /schemas/desktop/gnome/interface/font_name
Objeto de esquema
<schema>
  <applyto>/desktop/gnome/interface/font_name</applyto>
  <key>/schemas/desktop/gnome/interface/font_name</key>
  <owner>gnome</owner>
  <type>string</type>
  <default>Sans 10</default>
  <locale name="C">
    <short>Default font</short>
      <long>Name of the default font used by gtk+.</long>
  </locale>
</schema>

Puede asociar una clave de esquema con una clave de preferencia. Por ejemplo, la siguiente clave /desktop/gnome/interface/font_name incluye una clave de esquema:

<entry name="font_name" mtime="1034873859"
schema="/schemas/desktop/gnome/interface/font_name"/>

Cuando asocia una clave de esquema con una clave de preferencia, la preferencia usa el valor sugerido especificado en el objeto esquema de la clave de esquema. El valor sugerido está contendio en el elemento <default> dentro del objeto esquema. De forma predeterminada todas las claves de preferencias en su configuración fuente predeterminada están asociadas con claves de esquema.

Generalmente los esquemas están almacenados en la configuración fuente origial.

1.2.3. Archivos de definición de esquemas de GConf

Los esquemas se generan desde archivos de definición de esquemas. Un archivo de definición de esquemas define las características de todas las claves de una aplicación en particular. Los archivos de definición de esquemas tienen una extensión .schema.

Los archivos de definición de esquema están incluidos en el directorio /etc/gconf/schemas. Puede usar los archivos de definición de esquemas para crear una nueva fuente de configuración.

Algunos archivos de definición de esquemas corresponden con una parte del interfaz de usuario del Escritorio GNOME. Por ejemplo, system_http_proxy.schemas corresponde con la herramienta de preferencias Proxy de la red. Otros archivos de definición de esquemas contienen claves de preferencias que no están presentes en el interfaz de usuario del Escritorio GNOME. Por ejemplo, la clave /apps/panel/global/tooltips_enabled no está presente en el interfaz de usuario.

Algunas partes del interfaz de usuario del Escritorio GNOME contienen preferencias que representan claves de preferencias de más de un archivo de definición de esquemas. Por ejemplo, la herramienta de preferencias Combinaciones de teclas contiene preferencias que representan claves de los archivos panel-global-config.schemas y metacity.schemas