J'ai remarqué que certaines applications mettaient leurs fichiers de configuration dans d' ~/.config/appname
autres tandis que d'autres utilisaient ~/.appname
(la méthode classique, autant que je sache). Quel est le sens de cette distinction et quoi de mieux à envisager pour une application de la mienne?
UPDATE: On dirait que mon (valeur par défaut de XUbuntu 11.10) $ XDG_CONFIG_HOME est défini sur ~/
et que la plupart des applications de mon système (comme Mozilla Firefox, Adobe Flash Player, Midnight Commander, Opera, etc.) sont conformes à cette règle. Cependant, de nombreuses applications (telles que Compiz, Deadbeef, VLC, Qt Creator, Google Chrome, XFCE, etc.) utilisent à la ~/.config/
place. Une autre chose suspecte est que les répertoires dans ~/.config/
ne sont pas eux-mêmes cachés (pas de point dans leurs noms) - les répertoires de configuration d'applications ne doivent-ils pas avoir des noms propres constants sans dépendre de l'emplacement (valeur $ XDG_CONFIG_HOME)?
$HOME
point de vue, il s'agit d'une~/.config
entrée unique au lieu de plusieurs, voire de plusieurs dizaines. Et cela facilite beaucoup la sauvegarde de vos paramètres (ou leur exclusion)! Comment pouvez-vous distinguer les paramètres logiciels de, disons, votre~/Documents
ou votre~/.cache
?Parce que ces applications qui placent des fichiers de configuration
$HOME
ignorent la spécification du répertoire de base XDG , notamment:la source
$XDG_CONFIG_HOME
est réglé sur~/
, mais de nombreuses applications utilisent encore~/.config/
/
: ne pas mélanger les données avec les exécutables avec la configuration.~/.config
est la contrepartie de l'utilisateur/etc
, et cela aide énormément dans les sauvegardes par exemple. Sans cette/.config
sauvegarde, les sauvegardes de paramètres devraient soit inclure manuellement tous les répertoires d'applications, soit exclure manuellement tous les répertoires d'utilisateurs "big data" (vidéos, musique et autres répertoires personnels créés par celui-ci).Une réponse plus controversée est:
~/.config
est la valeur par défaut pour la norme XDG, qui s'applique uniquement aux applications conformes aux normes FreeDesktop.org (également via l'utilisation de la$XDG_CONFIG_HOME
variable).~/.appname
existait avant le standard freedesktop$HOME
n'est pas un problème, à mon avis.la source
~/.config
, à partir d'applications n'ayant aucun lien avec FreeDesktop.org, telles que Libre Office, Chromium, Deluge, beaucoup de jeux (y compris uniquement tous les jeux utilisant Unity3D), applications Google (Chrome, Earth), éléments Python (IPython, Eric), émulateurs (Muppen 64, Desmune). FreeDesktop.org lui-même a très peu d'applications. -~/.appname
est une convention qui existait avant XDG, mais la plupart des logiciels encore utilisés aujourd'hui ont été créés bien après la norme.$HOME/.myapp
${XDG_CONFIG_HOME:-$HOME/.config}/myapp
~/.app
finir~/.config/app
?