Когда происходят изменения в gsettings?

9

После внесения изменений в gsettings, нужно ли что-то сделать, чтобы изменения вступили в силу?

Например, если у меня есть эскизы, ~/.thumbnailsдатирующиеся несколько дней назад, будет запущено:

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

сделать так, чтобы миниатюры старше одного дня были немедленно удалены?

Другим случаем было бы отключение уведомления случайно и затем желание восстановить значение по умолчанию, как в:

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

В зависимости от характера измененного ключа потребуется ли выход из системы и вход в систему или перезагрузка? Есть ли способ узнать кроме проб и ошибок?

Моя ОС - Lubuntu 13.10.


источник
Я думал, что руководящим принципом Gnome было то, что настройки вступают в силу немедленно ... возможно, я ошибаюсь, я не использую Gnome.
Робин Грин

Ответы:

1

GSettings API , действительно обеспечивают bind, syncи сигналы. Но разработчики приложений должны использовать их (получить / синхронизировать) или когда их использовать, или прослушивать события изменения (периодически синхронизировать, получить один раз при загрузке приложения, а затем синхронизировать при завершении приложения ...). Ссылка: GIO Справочное руководство

Любое обновление для значения, оно будет немедленно сохранено в dconf user:db. Демон GSettings будет отправлять сигналы изменений (сигналы glib). Сторона приложения в зависимости от его реализации.

Например:

  • Большинство сервисов перезагружают настройки при перезапуске.
  • Раскладка клавиатуры была реализована для немедленного отражения изменений. Это должно быть в любом случае.

Хороший вопрос здесь с простым тестом связывания. Что такое XML-файл схемы в папке data / glib-2.0 моего приложения Quickly?

Примечание: говорили о GSettings для работы с dbus, возможно, он уже реализован. Ссылка: https://jasondclinton.livejournal.com/76020.html

user.dz
источник
1

Новые настройки записываются сразу. Когда они вступят в силу, зависит от настроек и от того, какое приложение их использует. Если настройка предназначена для системной службы, она обычно вступает в силу после перезагрузки службы. Если параметр предназначен для приложения, он обычно вступает в силу, когда приложение закрывается и повторно открывается. В случае с папкой кэша в соответствии с вашим примером кэшированные файлы будут оставаться там до тех пор, пока кэш не будет очищен, что может происходить периодически, или приложение может проверять кэшированные файлы при открытии.

Майкл Джонсон
источник