Bei Namen von dconf-Schemas wird zwischen Groß- und Kleinschreibung unterschieden?

10

Ich habe ein Beispiel für ein Schema gefunden, auf das auf zwei verschiedene Arten verwiesen wird, die sich nur für den Fall unterscheiden, was für mich verwirrend ist.

Gsettings sieht den Schemanamen als com.canonical.Unity.Launcherund akzeptiert ihn nicht com.canonical.unity.launcherals gültigen Schemanamen. Auf der anderen Seite sieht der dconf-Editor nur com.canonical.unity.launcheralle Kleinbuchstaben, wie im Screenshot gezeigt.

Wenn ich den Schlüssel favoritesin Gsettings ändere, spiegelt sich diese Änderung im dconf-Editor wider und umgekehrt.

Was ist los? Welches ist der richtige Schemaname com.canonical.Unity.Launcheroder com.canonical.unity.launcher?

Einstellungen:

$ 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-editor:

Screenshot des Dconf-Editors, beschnitten

Flimm
quelle
Ich respektiere, dass einer älter ist als der, den ich erwähne. Aber dachte, die neuere gibt mehr Referenzen und bessere Hintergrundinformationen zu diesem Fall. (Wenn Sie, Flimm & @whtyger, mir zustimmen)
user.dz
Diese Frage scheint nützlich, aber kein Duplikat dieser Frage. Diese Frage bezieht sich sehr speziell auf die Groß- und Kleinschreibung.
Flimm

Antworten:

8

Der Dconf-Schemabaum ist schwierig und für die tatsächlichen Schemanamen nicht immer relevant.

Zum Beispiel können appsSie unter finden update-manager, aber Sie werden kein apps.update-managerSchema mit gsettings finden. Der gültige Schemaname lautet com.ubuntu.update-managerund wird in Dconf nicht dort angezeigt, wo er eigentlich sein sollte. Der korrekte Schemaname in Dconf befindet sich unter der Schlüsselliste im grauen Feld mit Beschreibung und Standardwert. (Siehe Screenshot) Der oberste Eintrag zeigt den tatsächlichen Schemanamen.

Also würde ich der Ausgabe von gsettings vertrauen. In Ihrem Fall com.canonical.Unity.Launcherist der gültige Schemaname und sein Fall wirklich wichtig.

Screenshot, der das Schemafeld hervorhebt

whtyger
quelle
Interessanterweise habe ich das Schema-Feld im dconf-Editor nicht bemerkt. Wenn der Baumpfad nicht immer mit dem Schemanamen übereinstimmt, wie stimmt er überein?
Flimm
1
Möglicherweise wurden diese Schemanamen während des Entwicklungsprozesses geändert und im dconf-Frontend noch nicht behoben. Oder einfach vergessen. Es gibt auch mehrere dconf-Einstellungen, die überhaupt kein Schema haben. org>gtk>settings>file-chooser, zum Beispiel. Ich frage mich, wie sie mit gsettings geändert werden können.
Whtyger
Übrigens können diese Optionen ohne Schemata mit dconfim Terminal geändert werden . Überprüfen Sie dconf --helpalle Optionen. Aktiviert beispielsweise die dconf write /org/gtk/settings/file-chooser/show-hidden trueOption. Die automatische Vervollständigung des Schlüsselnamens funktioniert auch beim Eingeben des Terminals. Cool!
Whtyger