Zauważyłem, że niektóre aplikacje umieszczają swoje pliki konfiguracyjne, ~/.config/appname
podczas gdy inne używają ~/.appname
(klasyczny sposób, AFAIK) do tego. Jaki jest sens tego rozróżnienia i co może być lepszym do rozważenia dla mojego zastosowania?
AKTUALIZACJA: Wygląda na to, że mój (domyślnie XUbuntu 11.10) $ XDG_CONFIG_HOME jest ustawiony na ~/
i większość aplikacji w moim systemie (takich jak Mozilla Firefox, Adobe Flash Player, Midnight Commander, Opera, Wine itp.) Jest zgodna z tym. Ale nadal istnieje wiele aplikacji (takich jak Compiz, Deadbeef, VLC, Qt Creator, Google Chrome, XFCE itp.) ~/.config/
. Inną podejrzaną rzeczą jest to, że katalogi ~/.config/
same w sobie nie są ukryte (bez kropek w nazwach) - czy katalogi konfiguracji aplikacji nie powinny mieć stałych własnych nazw bez zależności od lokalizacji (wartość $ XDG_CONFIG_HOME)?
$HOME
punktu widzenia jest to jeden~/.config
wpis zamiast kilku, może dziesiątek. I znacznie ułatwia tworzenie kopii zapasowych ustawień (lub ich wykluczanie)! Jak odróżnić ustawienia oprogramowania od, powiedzmy, twojego~/Documents
lub twojego~/.cache
?Ponieważ aplikacje, w których umieszczane są pliki konfiguracyjne,
$HOME
ignorują specyfikację katalogu podstawowego XDG , w szczególności:źródło
$XDG_CONFIG_HOME
jest ustawiony na~/
, ale wciąż jest wiele aplikacji używających~/.config/
/
: nie mieszanie danych z plikami wykonywalnymi z konfiguracją.~/.config
jest odpowiednikiem użytkownika/etc
, co znacznie pomaga na przykład w tworzeniu kopii zapasowych. Bez tego/.config
kopie zapasowe ustawień musiałyby albo ręcznie dołączać wszystkie katalogi aplikacji, albo ręcznie wykluczać katalogi „big data” wszystkich użytkowników (filmy, muzyka i inne osobiste katalogi, które mógł stworzyć).Bardziej kontrowersyjna odpowiedź to:
~/.config
jest wartością domyślną dla standardu XDG, który dotyczy tylko aplikacji zgodnych ze standardami FreeDesktop.org (również poprzez użycie$XDG_CONFIG_HOME
zmiennej).~/.appname
istniał przed standardem freedesktop$HOME
nie stanowi problemu.źródło
~/.config
, z aplikacji, które nie mają związku z FreeDesktop.org, takich jak Libre Office, Chromium, Potop, wiele gier (w tym, ale nie tylko wszystkie gry korzystające z Unity3D), aplikacje Google (Chrome, Earth), Python (IPython, Eric), emulatory (Muppen 64, Desmune). FreeDesktop.org ma bardzo mało aplikacji. -~/.appname
to konwencja, która istniała przed XDG, ale większość nadal używanego oprogramowania została stworzona znacznie później niż standard.$HOME/.myapp
${XDG_CONFIG_HOME:-$HOME/.config}/myapp
~/.app
ponad~/.config/app
?