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


40

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


あなたが見ているもののスクリーンショットを追加できる可能性はありますか?同じ問題は見当たりません。
fossfreedom

1
GSettings / dconfを使用するソフトウェアを使用し、デフォルト値の1つを変更し(例:gnome-nettool、whoisを実行)、アプリケーションを削除します。これで、データベース(apps.gnome-nettoolなど)に残りがあります。後でそのソフトウェアを再インストールする場合に便利ですが、それらのキーを削除したいです。
htorque

簡単なオンライン検索で、gconfに似たような動作をするGoogle Codeプロジェクトを見つけることができました...これをdconfで動作するように変更できますか?
クリストファーカイルホートン

テキストファイルを見て、dconfから不要なアイテムをすべて削除する置換操作を見つけようとしましたか?
セベロラズ

回答:


34

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

  • 単一のキーの場合:

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

    終わることはできません/

  • パス全体の場合:

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

    終わる必要があり/ます。

あなたが持っている間、これを行う場合はdconf-editor開いて、それはおそらくクラッシュします。


これはうまく機能します。初心者の場合、パスを示すときは引用符を省略します。+1から@htorque。Tx。
Cbhihe

完全を期すために、昨日のコメントに、Trusty 14.04.2でそのソリューションを正常に使用したことを追加します。
Cbhihe

3

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

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

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 /

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

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


これは、実際には、ダンプされて変更および再ロードされるdconfサブパスにまったく影響を与えないようです。(私は完全に更新されたUbuntu 14.04.2で作業し、ppa:fixnix / netspeedからパッケージindicator-netspeed-unityに関係するすべてのキーを削除しようとします。)変更には影響しません。
Cbhihe

確かにこれをやり直しましたが、これはいかなる変更にも影響しないことを確認します。私はその答えに少し早すぎて投票したと思います。今は元に戻せません。
-Cbhihe

私は答えを更新しました、それを確認してください-それは私のために働いています。
ミハイルモルフィコフ

はい、今ではうまく機能します。Unityセッションを終了して新たに開始する前に〜/ .config / dconf / userを削除することは、欠落しているステップでした。賛成票が立っています。ありがとうございました。
Cbhihe

これは、gnomeにログインした後に黒い画面が表示されたときに助けてくれました。でttyを開いた後、Alt+Ctrl+F3これらの手順を実行できました。追加の便利なコマンドはsudo pkill -u <username>、アクティブなgnomeデスクトップセッションを再起動することでした。
ゾルタン

1

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

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


Ubuntu 18.04(およびそれ以前の可能性があります)の時点でソフトウェアセンターにはもう存在しません
バナジウム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.