dconfデータベースファイルのバックアップの内容を表示するにはどうすればよいですか?


20

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

バックアップしたコンテンツをdconf「所定の場所に」配置せずに表示するにはどうすればよいdconf-editorですか?

回答:


25

そのファイルの内容を表示するには、ファイルの名前を変更します。たとえば、ファイルをtest下に置き、そのファイルから設定~/.config/dconf/dconf読み取り/ダンプします。
デフォルトではdconf読み込み、ユーザーDBがで見つかりました$XDG_CONFIG_HOME/dconf/

"user-db"ラインは、ユーザーデータベースを指定します。
これらのデータベースはにあり$XDG_CONFIG_HOME/dconf/ます。そのディレクトリで開くファイルの名前は、プロファイルに記述されているとおりです。このファイルは、バイナリdconfデータベース形式であることが期待されています。XDG_CONFIG_HOMEライターとリーダーは異なるDBで作業するため、ターミナルまたはセッションごとに設定/変更する ことはできません(ライターはDBusによって起動され、その変数を見ることができません)。

その結果、特定のdbファイルを指すカスタムプロファイルが必要に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データベースには新しいバージョンでは無効なパス、キー、値が含まれる可能性があるため、異なるバージョンで作成されたdbファイル間の完全な互換性がdconf常に保証されるとは限らないことに注意してください。その場合、結果のold_settingsファイルを検査し、現在のデータベースにロードする前に無効なエントリを手動で削除または編集する必要があります。


17
WTF?誰がこの混乱の責任を負い、誰がこのためにbeatられるべきですか?(しかし、この情報をありがとうございました、それも私を助けてくれました。)
ティノ

1
@Tino GNOMEは、私は信じている開発者:)しかし、いくつかのフロントエンドツールがあるはず
アンワル


読書は問題ないと思います。XDG_CONFIG_HOME別のディレクトリに設定するだけです。プロファイルの魔法は必要ありません。ただし、任意のdconfファイルへの書き込みは難しく、プロファイルのトリックが必要になる場合があります。
トーステンブロンガー

-1

最初の答えは問題を過度に複雑にしたと思うので、/org/cinnamon/バックアップと復元の名前空間の例を使用して、もう一度試してみましょう。

/ org / cinnamon /をバックアップするには:

ターミナルから、次を実行します:

dconf dump /org/cinnamon/ > backup_of_my_cinnamon_settings

backup_of_my_cinnamon_settings後で使用するためにファイルをどこかに保存します

/ org / cinnamon /をデフォルトにリセットするには:

dconf reset -f /org/cinnamon/

これを行うと、シナモンがフリーズまたはクラッシュする可能性があることに注意してください

/ org / cinnamonのすべての設定を復元するには:

dconf load /org/cinnamon/ < backup_of_my_cinnamon_settings


プロセスは等でも同じです/org/gnome/terminal/

最良の結果を得るには、実行されていないときにアプリの参照を更新します。

ヒントをくれたCinnamonのドキュメントに感謝します。


3
もう一度試してみるべきだと思います:ここでの質問は、一部の設定をバックアップおよび復元する方法ではなく、保存されたバイナリファイルから設定を表示する(およびロードする)方法です。
don_crissti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.