dconf 模式名称区分大小写吗?

dconf 模式名称区分大小写吗?

我发现了一个模式的示例,该模式以两种不同的方式引用,仅在大小写上有所不同,这让我感到困惑。

Gsettings 将模式名称视为com.canonical.Unity.Launcher,并且不接受com.canonical.unity.launcher其为有效的模式名称。另一方面,dconf-editor 仅看到com.canonical.unity.launcher全部小写,如屏幕截图所示。

如果我在 Gsettings 中更改密钥favorites,则该更改将反映在 dconf-editor 中,反之亦然。

发生了什么事?哪个是正确的架构名称,com.canonical.Unity.Launcher, 或com.canonical.unity.launcher

设置:

$ gsettings list-schemas | grep -i com.canonical.unity.launcher
com.canonical.Unity.Launcher
david@david-Aspire-5735:~$ $ gsettings list-recursively com.canonical.Unity.Launcher
com.canonical.Unity.Launcher favorite-migration '3.2.10'
com.canonical.Unity.Launcher favorites ['application://firefox.desktop', 'application://thunderbird.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']
david@david-Aspire-5735:~$ gsettings list-recursively com.canonical.unity.launcher
No such schema 'com.canonical.unity.launcher'

dconf 编辑器:

dconf-editor 的屏幕截图(已裁剪)

答案1

Dconf 模式树很棘手,并且并不总是与实际模式名称相关。

例如,在 下apps您可以找到update-manager,但使用 gsettings 找不到apps.update-manager架构。有效的架构名称是com.ubuntu.update-manager,但它没有显示在 Dconf 中,而它实际上应该显示在 Dconf 中。可以在 Dconf 中的键列表下方找到正确的架构名称,位于带有描述和默认值的灰色字段中。(见屏幕截图)最上面的条目显示真实的架构名称。

因此,我会信任 gsettings 的输出。对于您而言,com.canonical.Unity.Launcher这是有效的架构名称,并且其大小写确实很重要。

屏幕截图突出显示架构字段

相关内容