gsettings (または dconf-editor) を修復/ロック解除するにはどうすればよいですか?

gsettings (または dconf-editor) を修復/ロック解除するにはどうすればよいですか?

BTRFS は優れたファイルシステムですが、システムを 2 回続けてハードリセットしなければならない場合を除けば、それは不可能です。その場合、ファイルシステム上のファイルに対して最近行われた変更はすべて、何らかの形で壊れてしまいます。その中には、常に Linux レジストリ dconf があります。

そのため、コンピュータをハード再起動すると、壊れた dconf の状態のままになり、すべての値が強制的にデフォルトに設定され、変更できなくなります。

フォルダ全体を削除して/home/$USER最初から再作成すると、問題は解決します。ただし、それには膨大な時間がかかり、さらに多くのデータが失われます。

dconf を修復またはリセットするより良い方法があるかどうか疑問に思います。できれば、古い値を検査するオプションがある方がよいです。

Windows Word と同様に、dconf 設定のバックアップがいくつかあると予想されます。

答え1

ユーザーの dconf データベースは にあり~/.config/dconf、システム レベルの値は に保存されます/etc/dconf。データベースは、高速読み取りバイナリ ファイルと、データベースと同じ名前で .d で終わるディレクトリ内のテキスト ファイルの組み合わせです。

つまり、デフォルトのシステムレベルの値は/etc/dconf/ibus(バイナリファイル)と/etc/dconf/ibus.d(テキストファイルで満たされたディレクトリ)の両方に保存されます。

まず、問題がユーザー レベル ファイルまたはシステム レベル ファイルにあるかどうかを確認し、問題のあるファイルを削除 (または復元) する必要があります。

ユーザー ファイル (システム レベルのファイルではありません) のバックアップは、user.XXXXXX という名前で見つかります。~/.config/dconf/ここで、X は任意の文字です。

dconfシステム管理者ガイドを読むことができますここ詳細については。

答え2

少し調べてみると、 の下にサイズが バイトのファイルと、通常サイズが数 KB のファイルが 2 つ~/.config/dconf見つかりuserまし0user.H37S4

ファイルを削除しuseruser.H37S4->の名前を変更するとuser、レジストリが修復されるだけでなく、設定も以前の状態に復元されます。

Unity およびグラフィカル デスクトップ環境全体からログアウトした状態で、仮想端末でこれらのファイルを変更しました。

関連情報