web-dev-qa-db-ja.com

Gconf、Dconf、Gsettingsおよびそれらの関係

Gconf、Dconf、Gsettingsの仕組みと、それらの関係を理解し​​ようとしています。

私が知っているのは:

  • Gconf-XMLベースのデータベース(バックエンドシステム)。古いもの。
  • Dconf-BLOBベースのデータベース(バックエンドシステム)。新しいもの。
  • Gsettings-設定を編集するCLIツール。 Dconfでのみ動作するように見えます(ただし、Gconfで動作する可能性があることはどこかで見ました)。

GconfにはGUI-Gconf-editorがあり、Dconfには-Dconf-editorがあることを知っています。

そう:

  1. どのバックエンドシステムがより頻繁に使用されますか-DconfまたはGconf?
  2. Gsettingsはそれらの両方で動作しますか?そして、なぜすべてのDconfスキーマが表示されないのですか?
  3. Dconfはデータをどこに保存しますか?
63
idgar

GConfは廃止されました。これは古いGNOME 2.x構成APIおよびシステムであり、新しいバージョンではDConf/GSettingsに置き換えられています。ただし、一部のアプリケーションではまだ使用されています。

GSettingsは、DConfのGLib実装であり、バイナリデータベースにデータを保存します。

gsettingsコマンドラインツールは、G_Conf用の古いgconftoolコマンドラインツールと同じように、GSettings APIを介して設定にアクセスまたは変更するための単なるツールです。

36
dobey

Dconfは、構成を保存するために設計されたデータストアです。同じ目的で使用されたGconfの代わりです。最終的には、Gconfに依存するプログラムはもうありません。

Gsettingsは、構成ストアバックエンドの読み取りと書き込みに使用される開発ライブラリです。 LinuxではDconfを使用しますが、Windowsではレジストリを使用し、OS Xではネイティブデータストアを使用します。

アプリケーション開発者とエンドユーザーは、Dconfを直接使用するのではなく、Gsettingsを使用することをお勧めします。

以下も参照してください:

41
Flimm