ความสัมพันธ์ระหว่าง. gconf, .gnome2, .cache, .local และลำดับชั้นของไฟล์ดอทอื่น ๆ ในโฮมไดเร็กตอรี่ของฉันคืออะไร?


14

ตามคำตอบนี้ , .local .cacheและ.configจะตามแบบแผนสถานที่จัดเก็บการตั้งค่าการรับรองโดย Gnome และ Ubuntu

มี.gnome .gnome2และ.gconfดังนั้นจึงไดเรกทอรีการกำหนดค่าเดิมหรือว่าพวกเขาควรจะอยู่ร่วม?
และการนำ dconf ไปใช้ปรับเปลี่ยนการกำหนดค่าแอปพลิเคชันไฟล์ดอทเหล่านี้หรือไม่?

ในที่สุดความสัมพันธ์ของการตั้งค่าข้อมูล gconf-editor กับไดเรกทอรีเหล่านี้คืออะไร? . GNome / .gconf มีข้อมูลเดียวกันกับที่ gconf-editor เข้าถึงหรือไม่

การอัปเดต: XDG ถูกระบุว่าเป็นสาเหตุของ. cache, .local และ. config

นี้คำถามเกี่ยวกับ dconfแนะนำว่า dconf จะเปลี่ยนสำหรับ GConf เป็นเอกสารในGnome.org นอกจากนี้ Joãoยังบอกอีกว่า dconf คือ

เทคโนโลยี GNOME ใช้สำหรับจัดเก็บการตั้งค่าแอปพลิเคชัน [... ] dconf คือการแทนที่ GNOME3 สำหรับ gconf ซึ่งยังไม่ได้รับการบำรุงรักษาเป็นระยะเวลาหนึ่ง dconf คาดว่าจะนำการปรับปรุงประสิทธิภาพมากกว่า gconf (เกี่ยวข้องกับการเริ่มต้นแอปพลิเคชัน)

ฉันคาดหวังว่าจะมีเส้นทางการย้ายข้อมูลแบบอนาธิปไตยจากการตั้งค่า gconf เป็น dconf ฉันชอบที่จะได้ยินมุมมองเพิ่มเติม

คำตอบ:


16

.local, .cacheและ.configเป็นส่วนหนึ่งของ freedesktop ฐานสารบบข้อมูลจำเพาะ พวกเขาไม่ควรจะเป็นจริงยากรหัส แต่แทนที่จะใช้ตัวแปรสภาพแวดล้อม (เช่น$XDG_DATA_HOME, $XDG_CACHE_HOMEและ$XDG_CONFIG_HOME) มีตัวห่อหุ้มGLibและPythonสำหรับสเป็คที่อาจเป็นประโยชน์เช่นกัน นี่คือตัวอย่างใน Python:

>>> import xdg.BaseDirectory
>>> print xdg.BaseDirectory.xdg_data_home
/home/andrew/.local/share
>>> print xdg.BaseDirectory.xdg_config_home
/home/andrew/.config
>>> print xdg.BaseDirectory.xdg_cache_home
/home/andrew/.cache

.gnomeและ.gnome2ถูกคัดค้านอย่างแน่นอนและไม่ควรใช้ เหล่านี้ถูกนำมาใช้โดย libgnome ของโมดูลคำพังเพย-config

.gconfมีการตั้งค่าที่gconf-editorเข้าถึงเป็นไฟล์ xml อย่างแน่นอน ตัวอย่างเช่นเปรียบเทียบผลลัพธ์ของคำสั่งต่อไปนี้:

gconftool -a /desktop/gnome/applications/browser

cat ~/.gconf/desktop/gnome/applications/browser/%gconf.xml

ฉันเจอคำตอบของคุณเมื่อพยายามค้นหาวิธีค้นหาไดเรกทอรีการกำหนดค่าจากแอปพลิเคชัน gtk สำหรับโปรแกรมเมอร์คนอื่น ๆ ที่ตามมาฉันมีกระดาษห่อ gtk (glib) ซึ่งใช้ XDG บน Linux และจัดการกับ MS Windows ข้อมูลเฉพาะที่นี่: developer.gnome.org/glib/2.30/…
teambob

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

5

ถ้อยคำที่เหมาะสมควรจะเป็นว่า .local, .cache ฯลฯ เป็นส่วนหนึ่งของไดเรกทอรีข้อมูลจำเพาะ XDG ฐานของ freedesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

XDG Base Directory Specification เป็นมาตรฐานและตามด้วย KDE และสภาพแวดล้อมอื่น ๆ ที่เข้ากันได้


มันสอดคล้องกับอะไร? มีข้อบังคับในการแปลงแอปที่ใช้สเปคที่แตกต่างไปจาก XDG หรือไม่หรือไม่ก็ปล่อยพวกมันออกจากการติดตั้งพื้นฐานของ Gnome / KDE? ถ้าเป็นเช่นนั้น แอพของบุคคลที่สามที่ไม่สอดคล้องกับถูกตั้งค่าสถานะโดยใครบางคนหรือมีการประชุม / การกำหนดค่าที่แตกต่างกันซึ่งสันนิษฐานว่าเป็นสิ่งที่ได้รับนั่นคือสิ่งที่จะดำเนินการต่อไปจนกว่าผู้พัฒนาระบบนิเวศทั้งหมด ฉันไม่ได้ติดตั้ง KDE แต่ฐาน Ubuntu / Gnome สำหรับระบบ 10.10 ของฉันมี XDG ที่คุณพูดถึง บางทีนี่อาจเป็นการปฏิบัติตามความสมัครใจ?
belacqua

2
ส่วนใหญ่เป็นการปฏิบัติตามความสมัครใจ แต่มีการพูดคุยกันในอดีตเกี่ยวกับการทำให้การปฏิบัติตาม XDG เป็น "เป้าหมาย" สำหรับแอปพลิเคชันทั้งหมดในการติดตั้งเริ่มต้น
andrewsomething

1
มันเป็นไปตามความสมัครใจ แต่ผู้ใช้สามารถ (และหลายคนทำ) กรอกรายงานบั๊กในแอพที่ไม่เข้ากันได้และขอให้พวกเขาปฏิบัติตามมาตรฐาน การไม่ทำให้รกโฟลเดอร์ $ HOME เป็นหนึ่งในผลประโยชน์ที่ยิ่งใหญ่ที่สุดของมาตรฐาน XDG ดังนั้นความกดดันของผู้ใช้จึงค่อนข้างสูงในแอปรุ่นเก่า
MestreLion
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.