web-dev-qa-db-ja.com

dconfダンプ出力とgsettingsスキーマ間のマッピング

例えば ​​:

dconf dump / | grep mouse
[org/mate/desktop/peripherals/mouse]
....

したがって、この出力に基づいてgsettingsコマンドを作成する場合は、gsettingsを使用してスキーマを一覧表示しますが、...

(可能性の高い候補のみを含むように編集された出力):

gsettings list-schemas | grep mouse
....
org.mate.peripherals-mouse
org.gnome.desktop.peripherals.mouse
org.mate.SettingsDaemon.plugins.mouse
....

したがって、これらのマウススキーマのどれを使用すべきかは明確ではありません。私の理解では、gsettingsはdconfデータベースへのコマンドラインインターフェイスですが、gsettingsデータとdconfデータとの明確な対応関係はありません-私が見る限りです。

誰かが説明資料を説明したり、私を説明したりできますか。ありがとう。

4
Stephen Boston

通常、dconfスキーマは、スラッシュをドットに、またはその逆に置き換えることにより、gsettingsスキーマにうまく変換されます。

あなたの例では、org.mate.peripherals-mouseは、静的スキーマであると予想されるものに最も近い一致です。

ただし、すべてのgsettingsスキーマが適切に変換されるわけではありません。 relocatable schemas として知られているものがあります:

再配置可能なスキーマは、別々に保存された同じ構成の複数のインスタンスが必要なときに必要なものです。この典型的な例はアカウントです。アプリケーションでは複数のアカウントを作成でき、各アカウントには同じ種類の設定情報が関連付けられています。

このような場合、スキーマには特定のパスを追加する必要もあります。 たとえば

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ dash-blur-experimental 1

Budgieデスクトップスキーマの1つからの別の例を次に示します。

$ dconf write /com/solus-project/budgie-panel/panels/{5f6251f2-9d09-11e8-be4b-d053493d53fd}/size 52
$ gsettings set com.solus-project.budgie-panel.panel:/com/solus-project/budgie-panel/panels/{5f6251f2-9d09-11e8-be4b-d053493d53fd}/ size 52

通常、再配置可能なgsettingsスキーマのパスはdconfと同じですが、 保証されていません 私の理解から。手動での方法は、dconf watch /を実行し、GUIボタン/スライダー/設定メニューを使用して、それらによって制御されるスキーマを把握することです。

1