Apakah nama skema dconf case-sensitive?

10

Saya telah menemukan contoh skema yang disebut dua dalam dua cara yang berbeda, hanya berbeda dalam kasus, yang membingungkan bagi saya.

Gsettings melihat nama skema sebagai com.canonical.Unity.Launcher, dan tidak menerima com.canonical.unity.launchersebagai nama skema yang valid. Di sisi lain, dconf-editor hanya melihat com.canonical.unity.launcherhuruf kecil semua, seperti yang terlihat pada tangkapan layar.

Jika saya mengubah kunci favoritesdi Gsettings, perubahan itu tercermin dalam dconf-editor, dan sebaliknya.

Apa yang sedang terjadi? Yang mana nama skema yang benar com.canonical.Unity.Launcher,, atau com.canonical.unity.launcher?

Setelan:

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

Cuplikan layar dconf-editor, dipangkas

Flimm
sumber
Saya menghormati yang satu lebih tua dari yang saya sebutkan. Tapi pikir yang lebih baru memberikan lebih banyak referensi dan info latar belakang yang lebih baik tentang kasus ini. (Jika Anda, Flimm & @whtyger, setujui dengan saya)
user.dz
Pertanyaan itu tampaknya bermanfaat tetapi bukan duplikat dari pertanyaan ini. Pertanyaan ini sangat spesifik tentang sensitivitas kasus.
Flimm

Jawaban:

8

Pohon skema Dconf rumit dan tidak selalu relevan dengan nama skema yang sebenarnya.

Misalnya, di bawah appsAnda dapat menemukan update-manager, tetapi Anda tidak akan menemukan apps.update-managerskema menggunakan gsettings. Nama skema yang valid adalah com.ubuntu.update-manager, dan itu tidak ditampilkan di Dconf di mana seharusnya. Nama skema yang benar dalam Dconf dapat ditemukan di bawah daftar kunci, pada bidang abu-abu dengan Deskripsi dan nilai Default. (Lihat tangkapan layar) Entri paling atas menunjukkan nama Skema asli.

Jadi saya akan percaya output gsettings. Dalam kasus Anda com.canonical.Unity.Launcheradalah nama skema yang valid dan kasusnya benar-benar penting.

Cuplikan layar menyoroti bidang skema

whtyger
sumber
Menarik, saya tidak melihat bidang skema di dconf-editor. Jika jalur pohon tidak selalu cocok dengan nama skema, apa yang cocok?
Flimm
1
Mungkin nama skema ini diubah selama proses pengembangan dan belum diperbaiki di dconf frontend. Atau hanya dilupakan. Ada juga beberapa pengaturan dconf yang tidak memiliki skema sama sekali. org>gtk>settings>file-chooser, sebagai contoh. Saya bertanya-tanya bagaimana mereka dapat diubah menggunakan gsettings?
whtyger
BTW, opsi-opsi ini tanpa skema dapat diubah menggunakan dconfterminal. Periksa dconf --helpsemua opsi. Misalnya, dconf write /org/gtk/settings/file-chooser/show-hidden trueaktifkan opsi. Pelengkapan otomatis nama kunci juga berfungsi saat mengetik terminal. Keren!
whtyger