dconf/gsettingsキーのデフォルト値を知りたいのですが。
私の質問は、以下の質問のフォローアップです。
gsettingsで使用するSCHEMA/PATH / KEYのリストはどこで入手できますか?
私がやろうとしていることなので、個人的な好みをすべて読み取るスクリプトを作成して、それらをバックアップおよび復元できるようにします。上記のスクリプトのように、すべてのキーを繰り返し処理して、デフォルト値から変更されたキーを確認し、後で復元できるようにメモしておく予定です。
dconf-editorがキーのデフォルト値を表示しているようですが、これをスクリプト化したいと思います。また、スキーマ/usr/share/glib-2.0/schemas/の解析を自動化する方法がわかりません。多分誰かが助けることができますか?
gsettings get-default | list-defaultsがいいでしょう=)
(そうですね、昔は〜/.somethingrcをsubversionのままにしておくほうがはるかに簡単でした…=
以下の回答に基づく スクリプトを更新して、スキーマ、キー、キーのデータ型、デフォルト値を出力しました 、および実際の値:
#!/bin/bash
for schema in $(gsettings list-schemas | sort); do
for key in $(gsettings list-keys $schema | sort); do
type="$(gsettings range $schema $key | tr "n" " ")"
default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "n" " ")"
value="$(gsettings get $schema $key | tr "n" " ")"
echo "$schema :: $key :: $type :: $default :: $value"
done
done
この回避策は基本的に私が必要とするものをカバーしています。ここからバックアップスクリプトの作業を続けます。
承認された回答:
デフォルト値を直接取得するための良い方法はないようですが、クライアントが環境内のXDG_CONFIG_HOMEをチェックするため、新しい構成から値を取得するための適切な回避策は次のようになります。
XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY