GConf
リポジトリ内の各設定は、キーと値のペアで構成されます。GConf 設定キーは、アプリケーション設定に対応するリポジトリ内の要素です。たとえば、/apps/gnome-session/options/show_splash_screen 設定キーは、セッション
設定ツールの 「ログイン時にスプラッシュ画面を表示する」 オプションに対応します。Java Desktop System のユーザーインタフェースには、GConf
リポジトリ内のすべての設定キーが含まれるわけではありません。たとえば、Panel
設定ツールには /apps/panel/global/tooltips_enabled キーに対応するオプションは含まれていません。
リポジトリは、単純な階層のファイルシステムのように構成されています。リポジトリには、次のものが含まれます。
GConf
リポジトリを使用するアプリケーションに対応するディレクトリ。たとえば、このファイルシステムには、/apps/gnome-terminalというディレクトリ が含まれます。
設定のカテゴリに対応するサブディレクトリ。たとえば、このファイルシステムには、 /apps/gnome-terminal/global というディレクトリが含まれます。
ディレクトリ内の設定キーの一覧、およびそのキーに関する情報を含む特殊ファイル。たとえば、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 apoc:readonly:mandatory@ include "$(HOME)/.gconf.path" xml:readwrite:$(HOME)/.gconf apoc:readonly:@ include /etc/gconf/2/local-defaults.path xml:readonly:/etc/gconf/gconf.xml.defaults
GConf
が設定値を検索する場合、GConf
は、パスファイル内で指定された順に設定ソースを読みます。以下の表は、パスファイル内の設定ソースです。
設定ソース |
説明 |
---|---|
必須 (xml:readonly:/etc/gconf/ gconf.xml.mandatory) |
この設定ソースのアクセス権は、読み取り専用に設定されます。ユーザーは、このソースの値を上書きすることができません。したがって、そのソースの設定値は必須です |
ユーザー |
この設定ソースは、ユーザーのホームディレクトリ内の .gconf ディレクトリに格納されます。ユーザーが環境を設定すると、新しい設定情報がこの場所に追加されます ユーザー設定ソースは、 |
デフォルト値 |
この設定ソースには、デフォルトの設定が含まれています |
パスファイル内の設定ソースの順序では、必須の設定がユーザーの設定よりも優先されます。また、デフォルト設定よりもユーザーの設定が優先されます。つまり、GConf
は、次の優先順位で設定を適用します。
必須の設定
ユーザー指定の設定
デフォルトの設定
システム管理者は、GConf
パスファイル内の include 命令を使って、別の設定ソースを指定できます。
含まれる設定ソース |
説明 |
---|---|
/etc/gconf/2/local-mandatory.path |
この設定ソースは、特定のシステムの必須設定を格納するために使用します。 |
$(HOME)/.gconf.path |
ユーザーは、設定ソースの場所をホームディレクトリ内の .gconf.path というファイルに指定します。 |
/etc/gconf/2/local-defaults.path |
この設定ソースは、特定のシステムのデフォルトの設定値を格納するために使用します。 |
GConf
パスファイル内の apoc 設定を使用して、Sun Java Desktop System Configuration Manager
のバックエンドモジュールを指定します。
「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 ディレクトリに含まれています。スキーマ定義ファイルを使用して、新しい設定ソースを作成できます。
いくつかのスキーマ定義ファイルは、Java Desktop System ユーザーインタフェースの一部と緊密に対応しています。たとえば、system_http_proxy.schemas は、Internet
設定ツールに対応しています。 ほかのスキーマ定義ファイルは、Java Desktop System ユーザーインタフェースにはない設定キーを含んでいます。たとえば、/apps/panel/global/tooltips_enabled キーはユーザーインタフェースにはありません。
Java Desktop System ユーザーインタフェースのいくつかは、複数のスキーマ定義ファイルの設定キーを表す設定を含んでいます。たとえば、Shortcuts
設定ツールは、panel-global-config.schemasファイル および metacity.schemas ファイルのキーを表す設定を含んでいます。