web-dev-qa-db-ja.com

dconfとは何ですか、その機能は何ですか、どのように使用しますか?

Mark Shuttleworth 最近ブログに掲載 11.10リリースにQtライブラリを含める決定について、 フォローアップ元 Jono Baconとともに。 Markは、Qtで書かれたアプリをより大きなUbuntuシステムに統合することの最大の課題は、Qtのdconfとの現在の非互換性だと述べています。

Dconfとは何ですか、またUbuntuで果たす役割は何ですか?

75
user2405

前書き

このサイトの他の回答ではgconfdconfを一緒に説明していますが、アクセスに使用されるgsettingsやgui dconf-editorなどのコマンドラインツールについてのみ説明します。 dconfデータベース。

GNOME公式サイト では、

dconfは低レベルの構成システムです。その主な目的は、構成ストレージシステムをまだ持っていないプラットフォームでGSettingsにバックエンドを提供することです。

dconfは、単純なキーベースの構成システムです。キーは非構造化データベースに存在します(ただし、論理的に一緒に属するキーはグループ化されることを意図しています)。

すべてのキーを単一のコンパクトなバイナリ形式にすることにより、tree-of-directories-of-xml-filesアプローチで現在経験されている激しい断片化の問題も回避できます。

dconfは読み取り用に最適化されています。通常、dconfからキーを読み取るには、ゼロシステムコールとゼロコンテキストスイッチが必要です。書き込みはあまり最適化されていません。バスを通過し、通常の方法で「ライター」(DBusサービス)によって処理されます。

gsettingsを使用して設定を表示および変更する

gsettingsを知ると、GUI dconf-editorと同じくらい簡単になります。オプションはman gsettingsを入力するか、 buntu manpages online に移動することでリストできます。

注:誰のシステムにも異なるプログラムがインストールされているため、XUbuntuを使用しているため、自分で実験するときに、選択した特定のアイテムを別のものに置き換える必要がある場合があります非常に多くのGNOMEプログラムを備えたXFce。

使用可能なすべてのスキーマをリストするには、次を入力します

gsettings list-schemas

すべてのキーも含めるには、次を入力します

gsettings list-recursively

ただし、、通常は、たとえば、

gsettings list-schemas | grep -i shotwell

これは長いリストを返します。私はそれを短くしました:

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

興味のあるスキーマが見つかったら、キーをリストします

gsettings list-keys org.yorba.shotwell.preferences.ui

これによりリストが返されます(再び短縮しました)。

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

いずれかを選択して、現在の値が何であるかを確認します

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

これは値trueを返すので、それを逆にするには、

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

これらはtrivialの例ですが、基本的にgsettingsを使用してキーと値を識別および変更する方法を示します。

Dconf-editorを使用して設定を変更する

GUIプログラムdconf-editorは、 here をクリックするか、実行することで dconf-tools パッケージでインストールされます。

Sudo apt-get install dconf-tools

次に、ターミナルまたはクイック起動メニューにdconf-editorと入力して実行します。

スクリーンショットでわかるように、さまざまなスキーマをすべて左側で展開し、適切なキーを選択できます。必要な値(この場合はgnome-mplayer設定)に移動するのは非常に簡単です。チェックボックスをクリックして、値をアクティブにするか、他のボックスのいずれかに数値を追加できます。 dconfエディター内で検索することもできます Ctrl+F キーボードショートカット。

enter image description here

次のスクリーンショットで['/var/log/auth.log'、var .... ']の形式でパスを追加することにより、log-viewerに別のログを追加することもできます。

enter image description here

結論

gsettingsdconf-editorの両方で設定を微調整できる便利な方法は他にもたくさんあり、それらは簡単に使用できます。プログラムを好みに合わせてカスタマイズできる場合があるため、プログラムの設定にないオプションがあるかどうかを確認することをお勧めします。 fossfreedomが最近この質問で示したように

gsettingsまたはdconf-editorの使用方法を知ることは非常に貴重です。こちらもご覧ください:

86
user76204

単純な応答を必要とするWindowsからのユーザーの場合、dconfはWindowsレジストリに相当するgnomeです。つまり、任意のプログラムが構成を保存および共有できる大きなバイナリツリーです。

最初に、従来のUNIX構成(アプリごとに1つのテキストファイル、それぞれ独自の形式)からgconfによって管理されるXMLファイルの標準ツリーに移行しました。最近では、これらのXMLファイルを直接編集する人はほとんどいないため、多くのファイルの読み取りと解析のパフォーマンスの問題が発生したため、gconfからdconfに移行することでバイナリ形式に移行しました。

Windowsレジストリとは異なり、dconfには、デフォルト値に設定されている場合でも、すべての構成エントリがリストされている必要があります。そのため、非表示のエントリはありません。その後、変更したり、デフォルトに簡単にリセットしたりできます。

25
higuita

dconfはUbuntu固有のものではなく、アプリケーション設定の保存に使用されるGNOMEテクノロジーです。詳細については、 http://live.gnome.org/dconf をご覧ください。

10
João Pinto