我正在使用Ubuntu 18.04(GNOME Shell),并且试图在C程序中使用dconf。
问题是,当我运行程序并使用dconf_client_read
读取值时,它将读取正确的值。但是,如果我在程序运行时使用dconf-editor
来更改值,则在下次读取时,它将读取旧值。如果我重新启动该程序,它将再次获得正确的值。
我也尝试致电dconf_client_sync
,但没有任何效果。
我是否需要每次使用dconf_client_new
创建一个新客户端,或者是否有其他方法可以获取更新后的值?如果我每次都需要创建一个新客户端,该如何释放旧客户端?似乎没有任何dconf_client_unref
或类似的方法。
PS:我正在写一个守护程序,因此每次更改值时都无法重新启动它。