我发现了一个模式的示例,该模式以两种不同的方式引用,仅在大小写上有所不同,这让我感到困惑。
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 编辑器:
答案1
Dconf 模式树很棘手,并且并不总是与实际模式名称相关。
例如,在 下apps
您可以找到update-manager
,但使用 gsettings 找不到apps.update-manager
架构。有效的架构名称是com.ubuntu.update-manager
,但它没有显示在 Dconf 中,而它实际上应该显示在 Dconf 中。可以在 Dconf 中的键列表下方找到正确的架构名称,位于带有描述和默认值的灰色字段中。(见屏幕截图)最上面的条目显示真实的架构名称。
因此,我会信任 gsettings 的输出。对于您而言,com.canonical.Unity.Launcher
这是有效的架构名称,并且其大小写确实很重要。