web-dev-qa-db-fra.com

Puis-je modifier l'emplacement des fichiers de configuration loin de mon dossier de départ?

J'ai cette question, est-il possible de changer l'emplacement par défaut des dossiers de configuration personnels cachés de /home/user Vers un autre emplacement? Je veux dire les dossiers .cache ..compiz-1 etc.

Merci de répondre.

2
Bruno Pablo

Non, malheureusement, ce n'est pas possible pour l'instant. Il existe quelque chose appelé la spécification de répertoire de base XDG qui rend certains types de répertoires configurables, y compris où les applications stockent leurs données, où se trouvent leurs configurations, etc. est $ HOME/.config par défaut, mais de nombreuses applications ne l'utilisent pas encore. C'est très ennuyeux pour de nombreuses raisons. Quand ils le font, alors il sera possible en changeant simplement cette variable en quelque chose d'autre, comme $ XDG_CONFIG_DIRS =/quelque part// .config. Pour l'instant, ce n'est pas possible pour des choses comme compiz, mais c'est possible pour beaucoup d'autres choses.

4

La réponse courte est non. Il existe de nombreux programmes qui utilisent cette zone par défaut pour écrire des fichiers de configuration. Je viens de vérifier mon système et j'ai des dossiers comme .Adobe, .dropbox, .libreoffice et .shotwell. Sans parler d'un grand nombre de configurations de programme dans .config.

Fondamentalement, même si vous avez réussi à modifier les valeurs par défaut pour une application, il y en a d'autres qui y seraient toujours écrites. Il n'y a pas de valeur par défaut globale pour l'emplacement de configuration utilisateur.

2
Kris Harper

En fait, il existe une commande usermod (8) qui peut changer votre répertoire personnel. Cela déplacera tous vos fichiers, pas seulement les fichiers de points que vous avez énumérés ci-dessus

NEWDIR=/new/home/dir
USER=yourusername
Sudo usermod --move-home --home $NEWDIR $USER

Essayez "man usermod" pour plus d'informations.

Si vous vouliez simplement déplacer certains répertoires, vous pouvez créer (et maintenir) des liens symboliques, quelque chose comme cet extrait de bash:

NEWDIR=/new/home/dir
DIRSTOMOVE=".Adobe .cache .compiz ..."
for d in $DIRSTOMOVE; do
    mv $HOME/$d $NEWDIR && ln -s $NEWDIR/$d $HOME
done
2
qneill