什么时候更改 gsettings?

9 gnome gsettings

对 gsettings 中的某些内容进行更改后,是否需要执行任何操作才能使更改生效?

例如,如果我有~/.thumbnails几天前的缩略图,将运行:

gsettings set org.gnome.desktop.thumbnail-cache maximum-age 1
Run Code Online (Sandbox Code Playgroud)

导致超过一天的缩略图被立即删除?

另一种情况是意外关闭通知,然后想要恢复默认值,如下所示:

gsettings reset org.gnome.nm-applet disable-vpn-notifications
Run Code Online (Sandbox Code Playgroud)

根据修改的密钥的性质,是否需要注销并登录或重新启动?除了反复试验之外,还有其他方法可以找出答案吗?

我的操作系统是 Lubuntu 13.10。

use*_*.dz 2

GSettings API 真正提供bindsync和 信号。但这取决于应用程序开发人员是否使用它们(获取/同步)或何时使用它们或侦听更改事件(定期同步,在应用程序加载时获取一次,然后在应用程序终止时同步...)。参考:GIO 参考手册

值的任何更新都会立即存储在 dconf 中user:db。GSettings 守护进程将发送更改信号(glib 信号)。应用程序端,取决于其实现。

例如:

  • 大多数服务在重新启动时会重新加载设置。
  • 键盘布局的实施是为了立即反映变化。无论如何都应该如此。

这里有一个简单的绑定测试的好问题,我的 Quickly 应用程序的 data/glib-2.0 文件夹中的架构 XML 文件是什么?

注意:有一个关于 GSettings 也可以与 dbus 一起使用的讨论,可能它已经实现了。参考: https: //jasondclinton.livejournal.com/76020.html