Jaki jest związek między .gconf, .gnome2, .cache, .local i innymi hierarchiami plików kropek w moim katalogu domowym?


14

Według tej odpowiedzi , .local .cachei .configsą umownie miejsce przechowywania konfiguracja przyjęty przez Gnome i Ubuntu.

Czy .gnome .gnome2i .gconfdlatego starsze katalogi konfiguracji, czy też powinny one współistnieć?
I czy przyjęcie dconf zmienia te konwencje konfiguracji aplikacji plików kropkowych?

Wreszcie, jaki jest związek ustawień danych edytora gconf z tymi katalogami? Czy .gnome / .gconf zawiera te same informacje, które uzyskuje dostęp do edytora gconf?

Aktualizacje: XDG został wskazany jako przyczyna .cache, .local i .config.

To pytanie na dconf sugeruje, że dconf zastąpi gconf, jak udokumentowano na Gnome.org . Ponadto João mówi, że dconf jest

Technologia GNOME używana do przechowywania ustawień aplikacji. [...] dconf jest zamiennikiem GNOME3 dla gconf, który nie był utrzymywany przez pewien czas. Oczekuje się również, że dconf przyniesie poprawę wydajności w porównaniu z gconf (istotnym podczas uruchamiania aplikacji).

Oczekuję, że na tej podstawie będzie nieco anarchiczna ścieżka migracji z ustawień gconf do dconf. Bardzo chciałbym usłyszeć dodatkowe perspektywy.

Odpowiedzi:


16

.local, .cachei .configsą częścią specyfikacji FreeDesktop Base Directory . Nie powinny one być rzeczywiście zakodowane ale zamiast używać zmiennych środowiskowych (tj $XDG_DATA_HOME, $XDG_CACHE_HOMEi $XDG_CONFIG_HOME). Istnieją specyfikacje GLib i Python dla specyfikacji, które również mogą być pomocne. Oto przykład w Pythonie:

>>> 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

.gnomei .gnome2są rzeczywiście przestarzałe i nie należy ich używać. Były one używane przez moduł gnome-config libgnome .

.gconfzawiera ustawienia, które są dostępne gconf-editorjako pliki xml. Na przykład porównaj dane wyjściowe następujących poleceń:

gconftool -a /desktop/gnome/applications/browser

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

Natrafiłem na twoją odpowiedź, próbując znaleźć katalog konfiguracji z aplikacji gtk. Dla innych programistów, którzy mnie ścigają, jest opakowanie gtk (glib), które używa XDG w Linuksie i obsługuje MS Windows. Szczegółowe informacje tutaj: developer.gnome.org/glib/2.30/…
teambob

Masz rację. Przeważnie opisywałem tę odpowiedź, nie podając przykładów programistom. Zaktualizuję odpowiedź, aby dodać trochę więcej informacji dla tych, którzy natkną się na to.
andrewsomething

5

Prawidłowe sformułowanie powinno polegać na tym, że .local, .cache itp. Są częścią specyfikacji katalogu podstawowego XDG FreeDesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html .

Specyfikacja katalogu podstawowego XDG jest standardem, a po niej KDE i inne środowiska zgodne.


Co to znaczy być zgodnym? Czy istnieje mandat do konwersji aplikacji korzystających z innej specyfikacji niż XDG lub w inny sposób, aby pominąć je w podstawowej instalacji Gnome / KDE? Jeśli tak, czy mandat jest egzekwowany? Czy niezgodne aplikacje innych firm są oznaczane przez kogoś, czy też zakłada się, że istnieją różne konwencje / katalogi konfiguracji, czyli coś, co będzie trwać, dopóki dobrowolnie nie zostaną porzucone przez wszystkich twórców ekosystemów? Nie mam zainstalowanego KDE, ale podstawowy Ubuntu / Gnome dla mojego systemu 10.10 ma wspomniane katalogi XDG. Być może jest to dobrowolne przestrzeganie przepisów?
belacqua,

2
W przeważającej części jest to dobrowolna zgodność, ale w przeszłości dyskutowano na temat uczynienia zgodności XDG „celem” dla wszystkich aplikacji w domyślnej instalacji.
andrewsomething 21.01.11

1
Jest to dobrowolna zgodność, ale użytkownicy mogą (i wielu z nich) wypełniać raporty o błędach w niezgodnych aplikacjach, prosząc je o przestrzeganie standardu. Usunięcie bałaganu w folderze $ HOME jest jedną z największych zalet standardu XDG, więc presja użytkownika jest zwykle dość duża w przypadku starszych aplikacji.
MestreLion,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.