dconfデータベースファイルのバックアップの内容を表示するには?

dconfデータベースファイルのバックアップの内容を表示するには?

私のファイルをバックアップしましたdconfデータベースが保存されたので(~/.config/dconf/userバイナリファイル)、今度はいくつかのキーをバックアップでdconf使用するように移動する必要があります。

バックアップの内容をdconf「所定の位置」に置かずに、たとえばdconf-editor表示できない方法は何ですか?

ベストアンサー1

このファイルの内容を表示するには、名前を変更できます。たとえば、testファイルを下に置き、~/.config/dconf/そのdconfファイルの設定を読み取るかダンプします。
基本的にdconf読むユーザーデータベース以下に見つかりました$XDG_CONFIG_HOME/dconf/:

1行は"user-db"1つのユーザーデータベースを指定します。
これらのデータベースはにあります$XDG_CONFIG_HOME/dconf/。このディレクトリで開かれたファイル名は、構成ファイルに作成された名前とまったく同じです。ファイルはバイナリdconfデータベース形式でなければなりません。これは端末またはセッションごとに設定/変更できません。その理由 XDG_CONFIG_HOMEは、作成者とリーダーが異なるDBで動作するためです(作成者はDBusによって開始され、この変数を見ることはできません)。

したがって、特定のデータベースファイルを指すカスタム設定ファイルが必要です。たとえば、環境変数を介してデータをダンプするようにuser-db:test指示します(カスタム設定ファイルを使用)。dconfDCONF_PROFILE

cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings

old_settings結果は、バックアップファイルの設定を含むファイル()ですdconf。例:

[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'

[org/gnome/desktop/input-sources]
sources=@a(ss) []
xkb-options=@as []

[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

.......

その後、次のファイルを削除できます。

rm -f ~/db_profile ~/.config/dconf/test

そして、以前の設定を現在のデータベースにロードします。

dconf load / < old_settings

特定の設定のみをダンプするには、次のパスを指定します。

DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

ただし、パスごとに異なるファイルが必要であり、そのファイルをロードするときにそれに応じてパスを指定する必要があります。

dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings

また、アップストリームの変更により、古いデータベースには新しいバージョンで無効なパス、キー、および値が含まれる可能性があるため、dconf他のバージョンで作成されたデータベースファイル間の完全な互換性は常に保証されるわけではありません。dconfこの場合、生成されたold_settingsファイルを確認し、無効なエントリを現在のデータベースにロードする前に手動で削除または編集する必要があります。

おすすめ記事