Имена схем dconf чувствительны к регистру?

Я нашел пример схемы, на которую ссылаются два двумя разными способами, отличаясь только регистром, что меня смущает.

Gsettings видит имя схемы как com.canonical.Unity.Launcherи не принимает com.canonical.unity.launcher как действительное имя схемы. С другой стороны, dconf-editor видит только com.canonical.unity.launcher все строчные, как видно на скриншоте.

Если я поменяю ключ favorites в Gsettings это изменение отражается в dconf-editor, и наоборот.

В чем дело? Какое правильное имя схемы, com.canonical.Unity.Launcher, или же com.canonical.unity.launcher?

Gsettings:

$ 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-редактора, обрезанный

1 ответ

Дерево схемы Dconf хитро и не всегда соответствует фактическим именам схемы.

Например, под apps ты можешь найти update-manager, но вы не найдете apps.update-manager Схема с использованием настроек. Допустимое имя схемы com.ubuntu.update-managerи это не показано в Dconf, где это на самом деле должно быть. Правильное имя схемы в Dconf можно найти под списком ключей, в сером поле с описанием и значением по умолчанию. (Смотрите скриншот). В самой верхней записи отображается реальное имя схемы.

Так что я бы доверял выводу gsettings. В твоем случае com.canonical.Unity.Launcher является допустимым именем схемы и ее регистр действительно имеет значение.

Поле схемы подсветки снимка экрана

Другие вопросы по тегам