Чи залежать регістри імен схеми dconf?


10

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

Gsettings бачить ім'я схеми як com.canonical.Unity.Launcherі не приймає com.canonical.unity.launcherяк дійсне ім'я схеми. З іншого боку, dconf-редактор бачить лише com.canonical.unity.launcherвсі малі регістри , як це видно на скріншоті.

Якщо я зміню ключ favoritesу Gsettings, ця зміна відображається в dconf-редакторі, і навпаки.

Що відбувається? Яка правильна назва схеми 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, обрізаний



Я поважаю, що на один старший, ніж той, про який я згадую. Але подумав, що новіший дає більше посилань та кращу довідкову інформацію про цю справу. (Якщо ви, Flimm & @whtyger, згодні зі мною)
user.dz

Це питання здається корисним, але не є дублікатом цього. Це питання дуже конкретно стосується чутливості до справ.
Flimm

Відповіді:


8

Дерево схеми Dconf є складним і не завжди відповідає реальним іменам схеми.

Наприклад, під ним appsможна знайти update-manager, але ви не знайдете apps.update-managerсхеми за допомогою gsettings. Дійсне ім'я схеми є com.ubuntu.update-manager, і воно не відображається в Dconf там, де воно насправді має бути. Правильну назву схеми в Dconf можна знайти під списком клавіш, у сірому полі зі значенням Опис та За замовчуванням. (Див. Знімок екрана) Найвищий запис показує реальну назву схеми.

Тож я б довірився виводу з gsettings. У вашому випадку com.canonical.Unity.Launcherє дійсною назвою схеми, і її справді має значення.

Поле схеми підкреслення екрана


Цікаво, що я не помітив поля схеми в dconf-редакторі. Якщо шлях до дерева не завжди відповідає імені схеми, що йому відповідає?
Flimm

1
Можливо, ці назви схем були змінені в процесі розробки і ще не були зафіксовані в dconf frontend. Або просто забули. Також є кілька параметрів dconf, які взагалі не мають схеми. org>gtk>settings>file-chooser, наприклад. Цікаво, як їх можна змінити за допомогою gsettings?
whtyger

До речі, ці параметри без схем можна змінити за допомогою dconfтерміналу. Перевірте dconf --helpвсі варіанти. Наприклад, dconf write /org/gtk/settings/file-chooser/show-hidden trueвключена опція. Автозаповнення імені ключа працює також під час введення терміналу. Класно!
whtyger
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.