web-dev-qa-db-ja.com

gsettingsの変更はいつ行われますか?

Gsettingsで何かを変更した後、変更を有効にするために何をする必要がありますか?

たとえば、数日前の~/.thumbnailsにサムネイルがある場合、次のように実行されます:

gsettings set org.gnome.desktop.thumbnail-cache maximum-age 1

1日以上経過したサムネイルをすぐに削除しますか?

もう1つのケースは、誤って通知をオフにしてから、次のようにデフォルトに戻したい場合です。

gsettings reset org.gnome.nm-applet disable-vpn-notifications

変更されたキーの性質に応じて、ログアウトしてログインするか、再起動が必要ですか?試行錯誤以外の方法で調べる方法はありますか?

私のOSはLubuntu 13.10です。

9
user15760

GSettings APIは本当にbindsyncとシグナルを提供します。しかし、それらを使用する(get/sync)か、いつ使用するか、またはchange-eventsをリッスンするか(アプリケーションを定期的に同期し、アプリの読み込み時に一度取得し、アプリの終了時に同期する...)は、アプリケーション開発者次第です。参照: GIOリファレンスマニュアル

値の更新は、dconf user:dbにすぐに保存されます。 GSettingsデーモンは変更信号(glib信号)を送信します。アプリケーション側。その実装によって異なります。

例えば:

  • ほとんどのサービスは、再起動時に設定を再読み込みします。
  • 変更をすぐに反映するために、キーボードレイアウトが実装されました。とにかくそうするべきです。

簡単なバインドテストを使用したここでの良い質問 Quicklyアプリケーションのdata/glib-2.0フォルダーにあるスキーマXMLファイルは何ですか?

注:dbusでも動作するようにGSettingsについての話がありましたが、すでに実装されている可能性があります。参照: https://jasondclinton.livejournal.com/76020.html

1
user.dz

新しい設定はすぐに記録されます。それらが有効になる時期は、設定が何であるか、およびどのアプリケーションがそれを使用するかによって異なります。設定がシステムサービス用である場合、通常はサービスがリロードされたときに有効になります。設定がアプリケーション用である場合、通常はアプリケーションを閉じて再度開いたときに有効になります。例のようにキャッシュフォルダーの場合、キャッシュがクリアされるまでキャッシュファイルはそこに残ります。これは定期的に発生するか、アプリケーションが開かれたときにキャッシュファイルを検証する場合があります。

1
Micheal Johnson