J'ai vu ces répertoires utilisés par de nombreuses applications et j'envisage maintenant de les utiliser pour mon application. Comment puis-je savoir qu'il s'agit d'un dossier officiellement pris en charge et pas seulement d'un aperçu de l'emplacement du mois pour un cache / configuration par utilisateur?
J'ai cherché sur Google et recherché quelque chose d'officiel d'Ubuntu mais en vain, peut-être que quelqu'un d'autre connaît les termes de recherche appropriés ou l'emplacement de cette documentation. Est-ce quelque chose que je devrais simplement accepter comme un lieu de pratique standard non déclaré?
configuration
home-directory
cache
Danny A
la source
la source
dir
. De cette façon, oui, ils sont absolument "cachés". Masquer les fichiers de cette manière est un bon objectif pour éviter qu'ils ne soient accidentellement modifiés / supprimés par l'utilisateur final - c'est pourquoi ils sont toujours utilisés de manière omniprésente. J'accepte que les fichiers dot ne soient pas utilisés pour des raisons de sécurité, dans le sens où ils ne sont pas impossibles à trouver / lire / modifier..
. Sont-ils totalement invisibles? Non, et ils ne devraient pas l'être. Peuvent-ils encore être lus / écrits? Oui, et ils devraient. Sont-ils invisibles (cachés) dans la plupart des cas? Oui - c'est le pointRéponses:
Oui, il existe une norme: celles-ci sont spécifiées par freedesktop.org et font partie des spécifications du répertoire de base XDG .
config-spec décrit uniquement les exigences de base, mais les détails se trouvent dans les spécifications du répertoire de base. Les répertoires
~/.config
et~/.cache
sont par défaut, sauf configuration contraire:Vous pouvez remarquer que ces spécifications indiquent principalement où les données doivent être stockées, quelles variables d'environnement utilisées et de quelle manière (indépendant du bureau, efficace, etc.), mais la plupart des bureaux sont libres d'implémenter la partie "comment". Les bureaux basés sur GNOME utiliseront
gsettings
où les utilisateurs de KDE peuvent utiliser le même viakwriteconfig
, mais ils s'appuieront tous les deux sur le~/.config
répertoire dans le processusQuestionner les points clés
Ces répertoires apparaissent dans la documentation officielle et Filesystem Hierarchy Standard les mentionne également. Il s'agit d'une documentation officielle, les dossiers sont donc officiellement pris en charge.
Cela dépend de l'application que vous créez. L'application est-elle censée être configurable par utilisateur ou fonctionner de manière cohérente dans tout le système? FHS nous dit que pour les choses à l'échelle du système, nous devons utiliser
/etc
ou/usr/local
, mais les répertoires XDG doivent être utilisés pour les configurations spécifiques à l'utilisateur -~/.cache
et~/.config
. Bien sûr, si l'application ne dépend pas de paramètres spécifiques à l'utilisateur, / var / cache peut être utilisé à la place du répertoire par utilisateur. Bien sûr, vous pourriez toujours avoir un seul~/.appname.conf
fichier, un répertoire~/.appname.db
ou~/.appname/
pour y conserver les configurations et le cache, mais ce ne serait pas standard; pas "mauvais" - juste non standard.Voir également
la source