การเปลี่ยนแปลงการตั้งค่าจะเกิดขึ้นเมื่อใด


9

หลังจากทำการเปลี่ยนแปลงบางอย่างใน gsettings จะต้องทำอะไรเพื่อให้การเปลี่ยนแปลงมีผลหรือไม่

ตัวอย่างเช่นหากฉันมีภาพขนาดย่อในการ~/.thumbnailsย้อนหลังไม่กี่วันจะทำงาน:

gsettings set org.gnome.desktop.thumbnail-cache maximum-age 1

ทำให้ภาพขนาดย่อที่เก่ากว่าหนึ่งวันถูกลบทันทีหรือไม่

อีกกรณีหนึ่งจะปิดการแจ้งเตือนโดยไม่ตั้งใจและต้องการคืนค่าเริ่มต้นตามที่:

gsettings reset org.gnome.nm-applet disable-vpn-notifications

การล็อกเอาต์และล็อกอินหรือจำเป็นต้องรีบูตขึ้นอยู่กับลักษณะของคีย์ที่ถูกปรับเปลี่ยนหรือไม่? มีวิธีการค้นหานอกเหนือจากการทดลองและข้อผิดพลาดหรือไม่?

ระบบปฏิบัติการของฉันคือ Lubuntu 13.10


ฉันคิดว่าหลักการชี้นำของ Gnome คือการตั้งค่าจะมีผลทันที ... บางทีฉันผิดฉันไม่ใช้ Gnome
Robin Green

คำตอบ:


1

GSettings API อย่างแท้จริงให้bind, syncและสัญญาณ แต่ขึ้นอยู่กับนักพัฒนาแอปพลิเคชั่นที่จะใช้พวกเขา (รับ / ซิงค์) หรือเมื่อใช้พวกเขาหรือฟังกิจกรรมการเปลี่ยนแปลง (ซิงค์เป็นระยะ ๆ รับครั้งเดียวในการโหลดแอปแล้วซิงค์ที่แอปยุติ ... ) Ref: คู่มืออ้างอิง GIO

การปรับปรุงใด ๆ สำหรับค่าจะถูกเก็บไว้ทันทีใน user:dbdconf GSettings daemon จะส่งสัญญาณการเปลี่ยนแปลง (สัญญาณ glib) ด้านการใช้งานขึ้นอยู่กับการใช้งาน

เช่น:

  • บริการส่วนใหญ่โหลดการตั้งค่าเมื่อรีสตาร์ท
  • รูปแบบแป้นพิมพ์ถูกนำไปใช้เพื่อสะท้อนถึงการเปลี่ยนแปลงในทันที มันควรจะเป็นต่อไป

เป็นคำถามที่ดีที่นี่ด้วยการทดสอบการผูกอย่างง่ายไฟล์ XML schema ในโฟลเดอร์ data / glib-2.0 ของแอปพลิเคชันของฉันอย่างรวดเร็วคืออะไร

หมายเหตุ: มีการพูดคุยเกี่ยวกับ GSettings เพื่อทำงานกับ dbus ด้วยเช่นกัน Ref: https://jasondclinton.livejournal.com/76020.html


1

การตั้งค่าใหม่จะถูกบันทึกทันที เมื่อมีผลบังคับใช้จะขึ้นอยู่กับการตั้งค่าและแอปพลิเคชันที่ใช้ หากการตั้งค่าสำหรับบริการของระบบมักจะมีผลเมื่อมีการโหลดบริการใหม่ หากการตั้งค่าสำหรับแอปพลิเคชันมักจะมีผลเมื่อแอปพลิเคชันถูกปิดและเปิดใหม่ ในกรณีของโฟลเดอร์แคชตามตัวอย่างของคุณไฟล์แคชจะยังคงอยู่ที่นั่นจนกว่าจะล้างแคชซึ่งอาจเกิดขึ้นเป็นระยะหรือแอปพลิเคชันอาจตรวจสอบไฟล์แคชเมื่อเปิด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.