什么决定了 gsettings 中存在什么?

什么决定了 gsettings 中存在什么?

我在 Xubuntu 13.10 上。我运行了这个命令:

$ gsettings list-recursively > ~/Desktop/gset.txt

我看到很多与 Xubuntu 无关的东西。例如:

com.canonical.Unity.Lenses always-search ['applications.scope', 'music.scope', 'videos.scope', 'files.scope']
com.canonical.Unity.Lenses disabled-scopes @as []
com.canonical.Unity.Lenses hidden-scopes @as []
com.canonical.Unity.Lenses home-lens-default-view ['applications.scope', 'files.scope']
com.canonical.Unity.Lenses home-lens-priority ['files.scope', 'music.scope']
com.canonical.Unity.Lenses locked-scopes @as []
com.canonical.Unity.Lenses remote-content-search 'all'

为什么会出现这些条目?是不是因为有一个“默认” gsettings 与所有源自 Ubuntu 的官方版本一起打包?

答案1

看来您说得对,一些“默认”Gsettings 与所有源自 Ubuntu 的官方版本一起打包。在本例中,它与 Unity lib 一起打包。

来自我的 Lubuntu 14.04 的示例,没有安装 Unity 桌面:

  1. 检查其架构文件

    $ grep -r com.canonical.Unity.Lenses /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.Unity.Lenses.gschema.xml:  <schema path="/com/canonical/unity/lenses/" id="com.canonical.Unity.Lenses" gettext-domain="libunity">
    

    /usr/share/glib-2.0/schemas/com.canonical.Unity.Lenses.gschema.xml有没有。

  2. 检查哪个包安装了它:

    $ dpkg -S /usr/share/glib-2.0/schemas/com.canonical.Unity.Lenses.gschema.xml
    libunity9:amd64: /usr/share/glib-2.0/schemas/com.canonical.Unity.Lenses.gschema.xml
    

    事实就是这样libunity9

  3. 可能至少安装了以下一个应用程序:

    $ apt-cache rdepends libunity9
    libunity9
    Reverse Depends:
      thunderbird-gnome-support
      nautilus
      empathy
      libunity9:i386
      libunity9:i386
      libunity-protocol-private0:i386
      libunity-dev:i386
      xchat-indicator
      wallch
      unity-scope-onlinemusic
      unity-scope-mediascanner
      unity-china-video-scope
      unity-china-music-scope
      psensor
      liferea
      libunity-tools
      claws-mail-multi-notifier
      xchat-gnome-indicator
      unity-webapps-service
      unity-webapps-qml
      unity-scope-video-remote
      unity-scope-musicstores
      unity-scope-home
      unity-lens-video
      unity-lens-music
      unity-lens-friends
      unity-lens-files
      unity-lens-applications
      thunderbird-gnome-support
      telepathy-indicator
      shotwell
      nautilus
      libunity-protocol-private0
      libunity-dev
      libunity-dev
      libbrasero-media3-1
      gir1.2-unity-5.0
      evolution-indicator
      empathy
      deja-dup
    

为了更好地理解 Gsettings 相关文件,请参阅dconf-editor 和 gsettings 不应该访问同一个数据库吗?

顺便说一句,某些键可能没有相关架构,例如某些 Compiz 设置的情况(在 Unity 或 Gnome 会话中,Lubuntu 会话使用ini文件)。甚至访问这些键的方式:应在 gsettings 命令中指定 Dconf 路径,请参阅示例当没有列出架构时如何使用 gsettings

相关内容