Puis-je définir le répertoire de configuration par défaut dans le dossier d'accueil?
Je n'aime pas:
/home/user/Documents
/home/user/Music
/home/user/.progconf1
/home/user/.progconf2
Je voudrais:
/home/user/Documents
/home/user/Music
/home/user/.config/.progconf1
/home/user/.config/.progconf2
Généralement, cela n'est pas possible, car les programmes ont tendance à hardcode (mettre le chemin directement dans le code source) le chemin du répertoire de configuration (des exceptions existent, voir la réponse de darent).
Par exemple:
J'utilise stackapplet
qui m'informe des changements de statut sur mon compte askubuntu. Dans son code, il dit (config_store.py
):
CONFIG_FILE_PATH = os.path.join(os.path.expanduser("~"),".stackapplet")
qui définit le CONFIG_FILE_PATH
à ~/.stackapplet
. Je devrais changer le code source manuellement pour remplacer cela.
Un autre exemple: wireshark
homedir = getenv("HOME");
if (homedir == NULL) {
pwd = getpwuid(getuid());
if (pwd != NULL) {
homedir = g_strdup(pwd->pw_dir);
} else
homedir = "/tmp";
}
persconffile_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", homedir, PF_DIR);
Ceci obtient le chemin du répertoire personnel soit à partir de la variable d'environnement HOME, soit à partir de /etc/passwd
entrée pour l'utilisateur actuel, ou il la définit sur /tmp
si tout échoue.
Différents programmes obtiennent le chemin HOME de différentes manières, vous ne pouvez tout simplement pas changer toutes les références "home" en /home/user/.config
.
Cela dépend de chaque programme plus que du système. Dans certains cas, vous pouvez les lancer avec des raccourcis vers des configurations spécifiques. c'est à dire:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Ces commandes enregistreraient leurs configurations dans .config (je n'aime pas non plus avoir ma maison pleine de petits fichiers et dossiers). Mais je ne sais pas s'il existe un moyen de le faire par défaut ou si vous devez définir la configuration et le lancement de chaque programme (que s'ils vous permettent de le définir). Je ne pense pas, car cela signifierait changer toute votre valeur $ HOME. Quelqu'un me corrige si je me trompe.