dconf schema ชื่อเป็นกรณี ๆ หรือไม่?


10

ฉันได้พบตัวอย่างของสคีมาที่มีการอ้างถึงสองในสองวิธีที่แตกต่างกันซึ่งแตกต่างกันเฉพาะในกรณีที่ทำให้ฉันสับสน

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-editor, ครอบตัด



ฉันนับถือที่มีอายุมากกว่าแล้วหนึ่งที่ฉันพูดถึง แต่ความคิดที่ใหม่กว่านั้นให้การอ้างอิงเพิ่มเติมและข้อมูลพื้นฐานที่ดีกว่าเกี่ยวกับกรณีนี้ (หากคุณคือ Flimm & @whtyger เห็นด้วยกับฉัน)
user.dz

คำถามนั้นดูเหมือนว่ามีประโยชน์ แต่ไม่ซ้ำกับคำถามนี้ คำถามนี้มีความเฉพาะเจาะจงมากเกี่ยวกับความไวของกรณี
Flimm

คำตอบ:


8

แผนผังสคีมา Dconf นั้นมีความซับซ้อนและไม่เกี่ยวข้องกับชื่อสคีมาที่แท้จริงเสมอไป

ตัวอย่างเช่นภายใต้appsคุณสามารถค้นหาupdate-managerแต่คุณจะไม่พบapps.update-managerสคีมาโดยใช้ gsettings ชื่อสกีมาที่ถูกต้องคือcom.ubuntu.update-managerและไม่ปรากฏใน Dconf ที่ควรเป็นจริง ชื่อสคีมาที่ถูกต้องใน Dconf อยู่ใต้รายการคีย์ที่ฟิลด์สีเทาพร้อมคำอธิบายและค่าเริ่มต้น (ดูภาพหน้าจอ) รายการสูงสุดแสดงชื่อ Schema จริง

ดังนั้นฉันจะไว้วางใจการส่งออก gsettings ในกรณีของคุณcom.canonical.Unity.Launcherเป็นชื่อสคีมาที่ถูกต้องและกรณีของมันมีความสำคัญจริงๆ

ภาพหน้าจอเน้นฟิลด์สคีมา


น่าสนใจฉันไม่ได้สังเกตเห็นช่องสคีมาใน dconf-editor หากเส้นทางต้นไม้ไม่ตรงกับชื่อสคีมาสิ่งใดที่ตรงกัน
Flimm

1
อาจจะมีการเปลี่ยนชื่อสกีมาในระหว่างการพัฒนาและยังไม่ได้รับการแก้ไขในส่วนหน้า dconf หรือลืมไปง่ายๆ นอกจากนี้ยังมีการตั้งค่า dconf หลายอย่างที่ไม่มีสคีมาเลย org>gtk>settings>file-chooser, ตัวอย่างเช่น. ฉันสงสัยว่าพวกมันสามารถเปลี่ยนแปลงได้อย่างไรโดยใช้ gsettings?
whtyger

BTW ตัวเลือกเหล่านี้ไม่มี schema สามารถเปลี่ยนแปลงได้โดยใช้dconfในเทอร์มินัล ตรวจสอบdconf --helpตัวเลือกทั้งหมด ตัวอย่างเช่นdconf write /org/gtk/settings/file-chooser/show-hidden trueเปิดตัวเลือก การเติมข้อความอัตโนมัติของชื่อคีย์ยังทำงานได้เมื่อพิมพ์ในเทอร์มินัล เย็น!
whtyger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.