Apa hubungan antara hierarki .gconf, .gnome2, .cache, .local, dan dot-file lainnya di direktori home saya?

14

Menurut jawaban ini , .local .cachedan .configsecara konvensional, lokasi penyimpanan konfigurasi diadopsi oleh Gnome dan Ubuntu.

Apakah .gnome .gnome2dan .gconfkarena itu direktori konfigurasi lama, atau mereka seharusnya hidup berdampingan?
Dan apakah adopsi dconf mengubah konvensi konfigurasi aplikasi dot-file ini?

Akhirnya, apa hubungan pengaturan data gconf-editor dengan direktori ini? Apakah .gnome / .gconf berisi info yang sama dengan yang diakses gconf-editor?

Pembaruan: XDG telah ditunjuk sebagai alasan untuk .cache, .local, dan .config.

Ini pertanyaan pada dconf menyarankan bahwa dconf akan menjadi pengganti gconf, seperti yang didokumentasikan di Gnome.org . Selanjutnya, João mengatakan bahwa dconf adalah

Teknologi GNOME digunakan untuk menyimpan pengaturan aplikasi. [...] dconf adalah pengganti GNOME3 untuk gconf yang belum dipertahankan selama beberapa waktu. dconf juga diharapkan membawa peningkatan kinerja lebih dari gconf (relevan untuk startup aplikasi).

Saya berharap, berdasarkan hal itu akan ada jalur migrasi yang agak anarkis dari pengaturan gconf ke dconf. Saya akan senang mendengar perspektif tambahan apa pun.

belacqua
sumber

Jawaban:

16

.local,, .cachedan .configmerupakan bagian dari Spesifikasi Direktori Pangkalan FreeDesktop . Mereka harus benar-benar sulit-kode namun menggunakan variabel lingkungan (yaitu $XDG_DATA_HOME, $XDG_CACHE_HOME, dan$XDG_CONFIG_HOME ). Ada pembungkus GLib dan Python untuk spesifikasi yang mungkin bermanfaat juga. Berikut ini contoh dalam 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

.gnomedan .gnome2memang sudah usang dan tidak boleh digunakan. Ini digunakan oleh modul gnome-config libgnome .

.gconfmemang mengandung pengaturan yang gconf-editormengakses file xml. Sebagai contoh, bandingkan output dari perintah berikut:

gconftool -a /desktop/gnome/applications/browser

cat ~/.gconf/desktop/gnome/applications/browser/%gconf.xml
andrewsomething
sumber
Saya menemukan jawaban Anda ketika mencoba menemukan cara menemukan direktori konfigurasi dari aplikasi gtk. Untuk programmer lain yang datang setelah saya ada bungkus gtk (glib) yang menggunakan XDG di Linux dan juga menangani MS Windows. Informasi spesifik di sini: developer.gnome.org/glib/2.30/…
teambob
Kamu benar. Saya sebagian besar hanya deskriptif dalam jawaban ini, tidak memberikan contoh pada seorang programmer. Saya akan memperbarui jawabannya untuk menambahkan lebih banyak info bagi mereka yang menemukan ini.
andrewsomething
5

Ungkapan yang tepat adalah bahwa .local, .cache, dll adalah bagian dari Spesifikasi Direktori Dasar XDG dari FreeDesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html .

Spesifikasi Direktori Dasar XDG adalah standar, dan diikuti oleh KDE dan lingkungan yang sesuai lainnya.

pengguna4124
sumber
Apa artinya patuh? Apakah ada mandat untuk mengonversi aplikasi menggunakan spesifikasi yang berbeda dengan XDG, atau sebaliknya membiarkannya keluar dari instalasi basis Gnome / KDE? Jika demikian, apakah mandat itu ditegakkan? Apakah aplikasi pihak ketiga yang tidak patuh ditandai oleh seseorang, atau apakah keberadaan konvensi / direktori konfigurasi yang berbeda dianggap sebagai pemberian, yaitu, sesuatu yang akan berlanjut sampai ditinggalkan secara sukarela oleh semua pengembang ekosistem? Saya tidak menginstal KDE, tetapi mendasarkan Ubuntu / Gnome untuk sistem 10.10 saya memiliki dir XDG yang Anda sebutkan. Mungkin ini kepatuhan sukarela?
belacqua
2
Sebagian besar ini adalah kepatuhan sukarela, tetapi telah ada diskusi di masa lalu tentang menjadikan kepatuhan XDG sebagai "tujuan" untuk semua aplikasi di instalasi default.
andrewsomething
1
Ini adalah kepatuhan sukarela, tetapi pengguna dapat (dan banyak yang melakukannya) mengisi laporan bug pada aplikasi yang tidak mematuhi permintaan mereka untuk mematuhi standar. Mengosongkan folder $ HOME mereka adalah salah satu manfaat terbesar dari standar XDG, jadi tekanan pengguna biasanya cukup tinggi pada aplikasi lawas.
MestreLion