Я нашел пример схемы, на которую ссылаются два двумя разными способами, отличаясь только регистром, что меня смущает.
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 хитро и не всегда относится к фактическим именам схемы.
Например, под
apps
вы можете найтиupdate-manager
, но вы не найдетеapps.update-manager
схему с помощью gsettings. Допустимое имя схемы естьcom.ubuntu.update-manager
, и оно не отображается в Dconf там, где оно должно быть на самом деле. Правильное имя схемы в Dconf можно найти под списком ключей, в сером поле с описанием и значением по умолчанию. (Смотрите скриншот). Самая верхняя запись показывает реальное имя схемы.Так что я бы доверял выводу gsettings. В вашем случае
com.canonical.Unity.Launcher
это правильное имя схемы, и его регистр действительно имеет значение.источник
org>gtk>settings>file-chooser
, например. Интересно, как их можно изменить с помощью gsettings?dconf
терминала. Проверьтеdconf --help
все варианты. Например,dconf write /org/gtk/settings/file-chooser/show-hidden true
включает опцию. Автозаполнение имени ключа работает и при наборе в терминале. Круто!