gsettings 键未在 dconf 中列出

gsettings 键未在 dconf 中列出

我想知道为什么在我的 12.10 测试版中com.canonical.indicator.session没有列出gsettings 键dconf-编辑器。我可以通过以下方式切换值:

gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true

但无法通过 dconf 编辑。这很奇怪,因为我记得在 12.04 中曾通过 dconf 修改过它

答案1

我对此的理解是,虽然 gconf 将整个树复制到您的主目录,但 dconf 却没有。因此,有很多东西 dconf-editor 无法看到,因为它们可能在您的主目录中,也可能不在您的主目录中(dconf-editor 似乎只在此范围内工作)。

gsettings 似乎给出了更加一致的结果......

答案2

我不确定它的 dconf 路径在哪个版本中发生了变化。你可以检查一下(我使用 Ubuntu 14.04 作为示例):

  • 检查其schema path

    $ grep -r com.canonical.indicator.session /usr/share/glib-2.0/schemas/
    Binary file /usr/share/glib-2.0/schemas/gschemas.compiled matches
    /usr/share/glib-2.0/schemas/com.canonical.indicator.session.gschema.xml:  <schema path="/apps/indicator-session/" id="com.canonical.indicator.session">
    /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml:      <default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>
    
  • 所以它应该在/apps/indicator-session/

相关内容