GConf リポジトリ内の各設定は、キーと値のペアで構成されます。 GConf 設定キーは、アプリケーション設定に対応するリポジトリ内の要素です。 たとえば、/apps/gnome-session/options/show_splash_screen 設定キーは、セッション設定ツールの 「ログイン時にスプラッシュ画面を表示する」 オプションに対応します。 GNOME デスクトップのユーザーインタフェースには、GConf リポジトリ内のすべての設定キーが含まれるわけではありません。 たとえば、Panel 設定ツールには /apps/panel/global/tooltips_enabled キーに対応するオプションは含まれていません。
リポジトリは、単純な階層のファイルシステムとして構成されています。 リポジトリには、次のものが含まれます。
GConf リポジトリを使用するアプリケーションに対応するディレクトリ。 たとえば、このファイルシステムに、ディレクトリ /apps/metacity が含まれます。
設定のカテゴリに対応するサブディレクトリ。 たとえば、このファイルシステムに、ディレクトリ /apps/metacity/general が含まれます。
ディレクトリ内の設定キーの一覧、およびそのキーに関する情報を含む特殊ファイル。 たとえば、HTTP プロキシ設定に関連するキーについての情報を持つファイルは、ディレクトリ /system/http_proxy にあります。
すべての設定キーを記述するファイルを含む /schemas ディレクトリ。
通常、設定キーは、文字列、整数、または文字列と整数のリストなどの単純な値を持ちます。 リポジトリ内の設定キーの形式は、リポジトリの読み取りに使用されるバックエンドモジュールに依存します。 以下は、リポジトリの読み取りに XML (Extensible Markup Language) が使用される場合の /desktop/gnome/interface/font_name 設定キーの例です。
<entry name="font_name" mtime="1038323555" muser="user123" type="string"> <stringvalue>Sans 10</stringvalue></entry>
このマニュアルでは、設定キーを参照するときに、キーのパス名をそのキーの名前に追加しています。 たとえば、/desktop/gnome/interface サブディレクトリ内の font_name 設定キーは、/desktop/gnome/interface/font_name のように参照されます。
GConf リポジトリは、「設定ソース」と呼ばれる一連の保存場所を含んでいます。 設定ソースは、「GConf パスファイル」に記述されます。 GConf パスファイルの場所は、/etc/gconf/gconf-version-number/path です。 各ユーザーは、パスファイルを持っています。 パスファイルは、各設定ソースに対して次の情報を指定します。
リポジトリの読み取りに使用するバックエンドモジュール
リポジトリのアクセス権
リポジトリの場所
GConf パスファイルには、include 命令も含まれています。 デフォルトでは、GConf パスファイルの内容は以下のようになります。
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
GConf が設定値を検索する場合、 GConf は、パスファイル内で指定された順に設定ソースを読みます。 以下の表は、パスファイル内の設定ソースです。
|
設定ソース |
説明 |
|---|---|
|
必須 (xml:readonly:/etc/gconf/ gconf.xml.mandatory) |
この設定ソースのアクセス権は、読み取り専用に設定されます。 ユーザーは、このソースの値を上書きすることができません。したがって、そのソースの設定値は必須です |
|
User |
この設定ソースは、ユーザーのホームディレクトリ内の .gconf ディレクトリに格納されます。 ユーザーが環境を設定すると、新しい設定情報がこの場所に追加されます ユーザー設定ソースは、 |
|
デフォルト値 |
この設定ソースには、デフォルトの設定が含まれています |
パスファイル内の設定ソースの順序では、必須の設定がユーザーの設定よりも優先されます。 また、デフォルト設定よりもユーザーの設定が優先されます。 つまり、GConf は、次の優先順位で設定を適用します。
必須の設定
ユーザー指定の設定
デフォルトの設定
システム管理者は、GConf パスファイル内の include 命令を使って、別の設定ソースを指定できます。
|
インクルードされる設定ソース |
説明 |
|---|---|
|
/etc/gconf/2/local-mandatory.path |
この設定ソースは、特定のシステムの必須設定を格納するために使用します。 |
|
$(HOME)/.gconf.path |
ユーザーは、設定ソースの場所をホームディレクトリ内の .gconf.path というファイルに指定します。 |
|
/etc/gconf/2/local-defaults.path |
この設定ソースは、特定のシステムのデフォルトの設定値を格納するために使用します。 |
「GConf スキーマ」は、「 GConf スキーマキー」と「GConf スキーマオブジェクト」の総称です。 以下の表は、スキーマキー、スキーマオブジェクト、およびこれらの項目と設定キーとの関連性について説明しています。
|
項目 |
説明 |
|---|---|
|
設定キー |
アプリケーション設定に対応する |
|
スキーマキー |
設定キーのスキーマオブジェクトを格納するキー。 |
|
スキーマオブジェクト |
以下のような設定キー用の情報を含む設定ソース内の要素
|
以下の表は、設定キー、スキーマキー、およびスキーマオブジェクトの例を示しています。
|
項目 |
例 |
|---|---|
|
設定キー |
/desktop/gnome/interface/font_name |
|
スキーマキー |
/schemas/desktop/gnome/interface/font_name |
|
スキーマオブジェクト |
<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>
|
設定キーにスキーマキーを関連付けることができます。 たとえば、/desktop/gnome/interface/font_name キーは次のスキーマキーを含んでいます。
<entry name="font_name" mtime="1034873859" schema="/schemas/desktop/gnome/interface/font_name"/>
設定キーにスキーマキーを関連付けると、設定は、そのスキーマキーのスキーマオブジェクト内で指定されている推奨値を使用します。 推奨値は、スキーマオブジェクトの <default> 要素に含まれています。 デフォルトでは、デフォルト設定ソース内のすべての設定キーが、スキーマキーと関連付けられます。
通常、スキーマはデフォルト設定ソースに格納されます。
スキーマは、「スキーマ定義ファイル」から生成されます。 スキーマ定義ファイルは、特定のアプリケーションにおけるすべてのキーの特性を定義します。 スキーマ定義ファイルには、.schemas 拡張子が付きます。
スキーマ定義ファイルは、/etc/gconf/schemas ディレクトリに含まれています。 スキーマ定義ファイルを使用して、新しい設定ソースを作成できます。
いくつかのスキーマ定義ファイルは、GNOME デスクトップユーザーインタフェースの一部と緊密に対応しています。 たとえば、system_http_proxy.schemas は、インターネット 設定ツールに対応しています。 ほかのスキーマ定義ファイルは、GNOME デスクトップユーザーインタフェースにはない設定キーを含んでいます。 たとえば、/apps/panel/global/tooltips_enabled キーはユーザーインタフェースにはありません。
GNOME デスクトップのユーザーインタフェースのいくつかは、複数のスキーマ定義ファイルの設定キーを表す設定を含んでいます。 たとえば、 ショートカット 設定ツールは、panel-global-config.schemas および metacity.schemas ファイルのキーを表す設定を含んでいます。