Qual è la relazione tra .gconf, .gnome2, .cache, .local e altre gerarchie di file dot nella mia directory home?


14

Secondo questa risposta , .local .cachee .config, per convenzione, sono posizioni di archiviazione della configurazione adottate da Gnome e Ubuntu.

Sono .gnome .gnome2e .gconfdi conseguenza le directory di configurazione legacy, o sono tenuti a coesistere?
E l'adozione di dconf modifica queste convenzioni di configurazione dell'applicazione dot-file?

Infine, qual è la relazione tra le impostazioni dei dati di gconf-editor e queste directory? .Gnome / .gconf contengono le stesse informazioni a cui accede gconf-editor?

Aggiornamenti: XDG è stato indicato come motivo per .cache, .local e .config.

Questa domanda su dconf avverte che dconf sostituirà gconf, come documentato su Gnome.org . Inoltre, João afferma che dconf è il

Tecnologia GNOME utilizzata per memorizzare le impostazioni dell'applicazione. [...] dconf è il sostituto di GNOME3 per gconf che non è stato mantenuto per un po 'di tempo. dconf dovrebbe inoltre apportare miglioramenti delle prestazioni rispetto a gconf (rilevante per l'avvio delle applicazioni).

Mi aspetto che, sulla base di ciò, ci sarà un percorso di migrazione piuttosto anarchico dalle impostazioni di gconf a dconf. Mi piacerebbe sentire ulteriori prospettive.

Risposte:


16

.local, .cachee .configfanno parte delle specifiche della directory di base di FreeDesktop . Non dovrebbero essere effettivamente hard-coded, ma invece utilizzare le variabili d'ambiente (vale a dire $XDG_DATA_HOME, $XDG_CACHE_HOMEe $XDG_CONFIG_HOME). Ci sono involucri GLib e Python per le specifiche che possono anche essere utili. Ecco un esempio in 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

.gnomee .gnome2sono in effetti deprecati e non dovrebbero essere usati. Questi sono stati usati dal modulo gnome-config di libgnome .

.gconfcontiene infatti le impostazioni che gconf-editoraccedono come file xml. Ad esempio, confronta l'output dei seguenti comandi:

gconftool -a /desktop/gnome/applications/browser

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

Ho trovato la tua risposta quando ho cercato di trovare la directory di configurazione da un'applicazione GTK. Per altri programmatori che vengono dopo di me c'è un wrapper gtk (glib) che usa XDG su Linux e gestisce anche MS Windows. Informazioni specifiche qui: developer.gnome.org/glib/2.30/…
teambob,

Hai ragione. Per lo più stavo solo descrivendo questa risposta, non fornendo esempi pratici per un programmatore. Aggiornerò la risposta per aggiungere qualche informazione in più per coloro che si imbattono in questo.
Andrewsomething

5

La frase corretta dovrebbe essere che .local, .cache, ecc. Fanno parte della specifica della directory di base XDG di FreeDesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html .

Le specifiche della directory di base XDG sono standard e sono seguite da KDE e altri ambienti conformi.


Cosa significa essere conformi? Esiste un mandato per convertire le app usando una specifica diversa da quella di XDG o altrimenti lasciarle fuori dall'installazione di base di Gnome / KDE? In tal caso, il mandato viene applicato? Le app di terze parti non conformi vengono segnalate da qualcuno o si presume l'esistenza di diverse convenzioni / directory di configurazione, ovvero qualcosa che continuerà fino a quando non verrà abbandonato volontariamente da tutti gli sviluppatori di ecosistemi? Non ho KDE installato, ma Ubuntu / Gnome di base per il mio sistema 10.10 ha le directory XDG che menzioni. Forse si tratta di conformità volontaria?
belacqua,

2
Per la maggior parte si tratta di conformità volontaria, ma in passato si è discusso di rendere la conformità XDG un "obiettivo" per tutte le applicazioni nell'installazione predefinita.
Andrewsomething

1
Si tratta di conformità volontaria, ma gli utenti possono (e molti lo fanno) compilare segnalazioni di bug su app non conformi richiedendo loro di aderire allo standard. Disordinare la loro cartella $ HOME è uno dei maggiori vantaggi dello standard XDG, quindi la pressione dell'utente è di solito piuttosto elevata nelle app legacy.
MestreLion,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.