Repositorio de GConf

Cada preferencia no repositorio de GConf exprésase como un par de valores-chave. Unha chave de preferencia de GConf é un elemento no repositorio que corresponde a unha preferencia /apps/gnome-session/options/show_splash_screen corresponde á opción Mostrar a pantalla de benvida ao iniciar a sesión na ferramenta de preferencias

O repositorio está estruturado como un sistema de ficheiros xerárquico simple. O repositorio contén o seguinte:

  • Cartafoles que corresponden a aplicativos que usan o repositorio de GConf. Por exemplo, o sistema de ficheiros contén o cartafol /apps/metacity.
  • Os subcartafoles que corresponden con categorías de preferencias. Por exemplo o sistema de ficheiros contén o cartafol /apps/metacity/general.
  • Ficheiros especiais que listan as chaves de preferencias no cartafol e contén información sobre as chaves. Por exemplo, un ficheiro que contén información sobre as chaves referentes ás preferencias do proxy HTTP está no cartafol /system/http_proxy.
  • Un cartafol /schemas que contén ficheiros que describen todas as chaves de preferencias.

As chaves de preferencia xeralmente contén valores simples, tales como cadeas, enteiros ou listas de cadeas e enteiros. O formato das chaves de preferencias no repositorio depende do módulo de backend usado para ler o repositorio. O seguinte exemplo mostra a chave de preferencia /desktop/gnome/interface/font_name cando un módulo backend de «Extensible Markup Language» (XML) úsase para ler o repositorio:

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

Cando esta guía se refire a unha chave de preferencia, o camiño á chave engádese ao nome da chave. Por exemplo, a chave de preferencia font_name no subcartafol /desktop/gnome/interface sóese chamr /desktop/gnome/interface/font_name.

1.2.1. Fontes de configuración de GConf

O repositorio de GConf contén unha serie de lugares de almacenamento chamados fontes de configuración. As fontes de configuración están listadas no ficheiro de ruta de GConf. A localización do ficheiro de ruta de GConf é /etc/gconf/número-de-versión-de-gconf/path. Cada usuario ten un ficheiro de ruta. O ficheiro de ruta especifica a seguinte información para cada fonte de configuración.

  • O módulo backend a usar para ler o repositorio.
  • Os permisos sobre o repositorio.
  • A localización do repositorio

O camiño de ficheiro de GConf tamén contén instrucións include. De forma predefinida o contido do ficheiro de ruta de GConf é o seguinte:

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

Cando GConf busca o valor dunha preferencia, GConf lee as fontes de configuración no orde especificado polo ficheiro de camiño. A seguinte táboa describe as fontes de configuración no ficheiro de camiño.

Configuración fonte Descrición
Obrigatorio Os permisos sobre esta configuración fonte están estabelecidos a só lectura. Os usuarios non poden sobrescribir os valores nesta fonte, de tal forma que as preferencias na fonte son obrigatorias.
Usuario

Esta configuración fonte almacénase no cartafol .gconf dentro do cartafol de inicio do usuario. Cando o usuario estabelece unha preferencia, a nova información da preferencia engádese a esta localización.

Pode usar o Editor de configuración para modificar a configuración fonte do usuario.

Predefinida Esta configuración fonte contén os axustes predefinidos de preferencias.

A secuencia das fontes de configuración no ficheiro de ruta asegura que os axustes de preferencias obrigatorias sobrescriben os axustes de preferencia do usuario. A secuencia tamén se asegura que os axustes de preferencias do usuario sobrescriben os axustes de preferencias predefinidos. Isto é GConf aplica as preferencias coa seguinte prioridade

  1. Preferencias obrigatorias
  2. Preferencias especificadas polo usuario
  3. Preferencias predefinidas

As instrucións include no camiño de ficheiro de GConf permiten aos administradores do sistema especificar outras fontes de configuración.

Fonte de configuración incluída Descrición
/etc/gconf/2/local-mandatory.path Use esta fonte de configuración para almacenar valores de preferencias obrigatorias para un sistema particular.
$(HOME)/.gconf.path O usuario especifica a localización da configuración fonte no cartafol de inicio, no ficheiro chamado .gconf.path.
/etc/gconf/2/local-defaults.path Use esta configuración fonte para almacenar os valores de preferencias predefinidos para un sistema particular.

1.2.2. Esquemas de GConf

Un esquema de GConf é un término colectivo para unha chave de esquema de GConf e un obecto de esquema de GConf. A seguinte táboa describe as claves e obxectos de esquema e a súa relación coas chaves de preferencia.

Elemento Descrición
Chave de preferencia Un elemento no repositorio de GConf que corresponde coa preferencia dun aplicativo.
Chave de esquema Unha chave que almacena un obxecto de esquema para unha chave de preferencia.
Obxecto de esquema

Un elemento nunha configuración fonte que contén información para unha chave de preferencia, tal como:

  • O nome do aplicativo que usa a chave de preferencia.
  • O tipo de valor requirido pola chave de preferencia, por exemplo enteiro, booleano e demais.
  • Un valor predefinido para a chave de preferencia.
  • Breve documentación sobre a chave de preferencia

A seguinte táboa fornece exemplos dunha chave de preferencia, unha chave de esquema e un obxecto de esquema.

Elemento Exemplo
Chave de preferencia /desktop/gnome/interface/font_name
Chave de esquema /schemas/desktop/gnome/interface/font_name
Obxecto 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>

Pode asociar unha chave de esquema cunha chave de preferencia. Por exemplo, a seguinte chave /desktop/gnome/interface/font_name inclúe unha chave de esquema:

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

Cando asocia unha chave de esquema cunha chave de preferencia, a preferencia usa o valor suxerido especificado no obxecto esquema da chave de esquema. O valor suxerido está contido no elemento <default> dentro do obxecto esquema. De forma predefinida todas as chaves de preferencia na súa configuración fonte predefinida están asociadas con chaves de esquema.

Xeralmente os esquemas están almacenados na configuración fonte orixinal.

1.2.3. Ficheiros de definición de esquemas de GConf

Os esquemas xéranse desde ficheiros de definición de esquemas. Un ficheiro de definición de esquemas define as características de todas as chaves dun aplicativo en particular. Os ficheiros de definición de esquemas teñen unha extensión .schema.

Los ficheiros de definición de esquema están incluídos no cartafol /etc/gconf/schemas. Pode usar os ficheiros de definición de esquemas para crear unha nova fonte de configuración.

Some schema definition files correspond closely to a part of the GNOME Desktop user interface. For example, system_http_proxy.schemas corresponds to the Network Proxy preference tool. Other schema definition files contain preference keys that are not present in the GNOME Desktop user interface. For example, the /apps/panel/global/tooltips_enabled key is not present in the user interface.

Some parts of the GNOME Desktop user interface contain preferences that represent preference keys from more than one schema definition file. For example, the Keyboard Shortcuts preference tool contains preferences that represent keys from the panel-global-config.schemas and metacity.schemas files.