GConf デーモンは、gconfd-2 です。GConf デーモンは、設定の値が変更されると、アプリケーションに通知します。たとえば、メニューとツールバー設定ツールでツールバーのアイコンのみを表示するように選択するとします。設定ツールでこのオプションを選択すると、開いているすべてのアプリケーションのツールバーがただちに更新されます。GConf デーモンは、ローカルでも、ネットワークを介してでも動作することができます。
GConf デーモンのインスタンスは、ユーザーごとに起動されます。ユーザーが複数のシステムにログインする場合、GConf デーモンのインスタンスはセッションごとに起動されます。この場合、GConf
デーモンのインスタンスを 1 つだけ使用するように Java Desktop System を設定することもできます。この方法については、「1 つの GConf デーモンのインスタンスを使用するように Java Desktop System を設定する」を参照してくください。
GConf デーモンでは、認証やデータのセキュリティなどの複雑な問題の処理はしません。GConf デーモンは、起動するときにGConf パスファイルを読み取ります。GConf デーモンは、アプリケーションと構成ソース間のすべてのアクセスを管理します。
アプリケーションが設定キーの値を要求すると、デーモンは次のようにして構成ソースを検索します。
パスファイルに指定された順に、各構成ソース内の設定キーの値を検索します。値が見つかると、その値を返します。
値が見つからない場合は、パスファイルに指定された順に、各構成ソース内の設定キーに対応するスキーマキーを検索します。
スキーマキーが見つかると、スキーマキーの値を調べます。
スキーマキーの値がスキーマオブジェクトの場合、そのスキーマオブジェクトの <default> 要素内の推奨値を返します。
GConf デーモンは、設定キーの値をキャッシュに入れます。すべてのアプリケーションがこのキャッシュを使用するため、アプリケーションが構成ソースにアクセスするのは一度だけです。
GConf デーモンを終了するには、次のコマンドを実行します。
# gconftool-2 --shutdown
Java Desktop System では、ユーザーが複数のシステムにログインする場合、デフォルトで GConf デーモンの複数のインスタンスが作成されます。この場合、GConf
デーモンのインスタンスを 1 つだけ使用するように Java Desktop System を設定することもできます。そのユーザーは Network File System (NFS) 上のホームディレクトリが必要です。
ユーザーが複数のシステム上で GConf デーモンのインスタンスを 1 つ使用し、設定の値を変更すると、ユーザーがログインしているすべてのセッションに変更が適用されます。たとえば、1
つのセッションのメニューとツールバー設定ツールでツールバーのアイコンのみを表示するように選択した場合、ユーザーがログインしているすべてのセッションで、開いているすべてのアプリケーションのツールバーがただちに更新されます。
すべてのセッションがユーザーのホームディレクトリにアクセス可能な場合のみ、ユーザーは GConf デーモンのインスタンスを 1 つだけ使用できます。
Java Desktop System では、Common Object Request Broker Architecture (CORBA) が使用されます。CORBA によって、アプリケーションオブジェクトは、作成に使用されたプログラミング言語や実行されているオペレーティングシステムにかかわらず、互いに通信することが可能になります。
CORBA 上で、Object Request Broker (ORB) がサーバーとクライアント間で通信を行います。Java
Desktop System の ORB の 1 つが ORBit2 です。GConf は、ORBit2 の TCP プロトコルを使用して、GConf デーモンとユーザーがログインしているセッションの間で通信を行います。
ユーザーごとに GConf デーモンのインスタンスが 1 つ使用されるようにシステムを設定するには、次の手順を実行します。
ユーザーがログインするすべてのシステムで、/etc/orbitrc ファイルに次の行が含まれていることを確認します。
ORBIIOPIPv4=1
GCONF_GLOBAL_LOCKS 環境変数の値を 1
に設定します。この結果、GConf によって、ローカルシステムのディレクトリではなく、ユーザーのホームディレクトリにロックが作成されます。
GConf デーモンを再起動します。
各ユーザーに対して GConf デーモンのインスタンスが複数使用されるようにシステムを設定するには、GCONF_GLOBAL_LOCKS 環境変数の値を設定解除します。その後 GConf
デーモンを再起動します。
ORBit2 の TCP プロトコルは、サーバーとクライアント間の通信が暗号化されていないため、完全に安全ではありません。