web-dev-qa-db-ja.com

dconfデータベースをクリーンアップするにはどうすればよいですか?

Dconfはかなり若いですが、私のデータベースはすでに多くの「スキーマレス」キーで混乱しています。いくつかのクリーンアップを行う方法はありますか、または〜/ .config/dconf/userを削除することでゼロから開始する必要がありますか?

39
htorque

これはdconf resetコマンドを使用して可能ですが、それがバグの副作用であるかどうかは明確ではありません。

  • 単一のキーの場合:

    dconf reset "/path/to/the/key"
    

    必須ではありません/で終わります。

  • パス全体の場合:

    dconf reset -f "/path/to/the/path/"
    

    必須/で終わります。

dconf-editorを開いた状態でこれを行うと、おそらくクラッシュします。

33
htorque

Dconfデータベースを消去する場合は、最初にdconf設定全体を次の方法でダンプする必要があります。

morfik:~$ cd ~/.config/dconf/
morfik:~/.config/dconf$ dconf dump / > user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 30.0K 2015-02-07 08:18:04 ./user-backup
morfik:~/.config/dconf$ rm user

これらの手順の後、グラフィカルセッションを再度開く必要があります(ログアウト/ログイン)。これにより、ほぼ0のコンテンツ(デフォルト設定)で~/.config/dconf/userファイルが新たに作成されます。

前に作成したuser-backupファイルに関しては、単なるプレーンテキストファイルです。

...
[apps/light-locker]
late-locking=false
lock-after-screensaver=uint32 1
lock-on-suspend=true
...

したがって、それを編集して、そのファイルから目的のエントリ/ブロックを削除できます。言い換えれば、それをきれいにしてください。

完了したら、ロードします。

morfik:~/.config/dconf$ dconf load / < ./user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 14.0K 2015-02-07 08:26:23 ./user-backup
morfik:~/.config/dconf$ dconf update /

その後、グラフィカルセッションを再起動する必要があると思います。

そしてそれだけですが、デフォルト値を持つすべてのエントリは保存されないことを覚えておく必要があります-一部のアプリがそれを要求すると、それらは新しく作成されます。これは、変更した値のみをバックアップしたいので良いことです。

3

ソフトウェアセンターからgconf-cleanerをインストールします。
Sudo apt-get install gconf-cleaner

彼ら自身の言葉で「GConf Cleanerは、Gconfデータベースをクリーンアップするツールであり、不必要または無効なキーで乱雑になっている可能性があります。」

1
Parto