Я могу установить dir конфигурации по умолчанию в домашней папке?
Мне не нравится:
/home/user/Documents
/home/user/Music
/home/user/.progconf1
/home/user/.progconf2
Я хочу:
/home/user/Documents
/home/user/Music
/home/user/.config/.progconf1
/home/user/.config/.progconf2
Обычно это не возможно, поскольку программы склоняются к hardcode (поместите путь непосредственно к исходному коду), путь к каталогу конфигурации (исключения существуют, видят ответ darent).
Например:
Я использую stackapplet
то, которое сообщает мне о состоянии, изменяется на моей учетной записи askubuntu. В его коде это говорит (config_store.py
):
CONFIG_FILE_PATH = os.path.join(os.path.expanduser("~"),".stackapplet")
который устанавливает CONFIG_FILE_PATH
кому: ~/.stackapplet
. Я должен был бы изменить исходный код вручную для переопределения этого.
Другой пример: 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);
Это получает путь корневого каталога или от переменной Домашней среды, или от /etc/passwd
запись для текущего пользователя, или это устанавливает его на /tmp
если все сбои.
Различные программы получают ДОМАШНИЙ путь по-разному, Вы просто не можете изменить все "домашние" ссылки на /home/user/.config
.
Это зависит от каждой программы больше, чем в системе. В некоторых случаях можно запустить их с ярлыками на определенные конфигурации. т.е.:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Те команды сохранили бы свои конфигурации внутри .config (мне также не нравится иметь мой дом, полный маленьких файлов и папок). Но я не знаю, существует ли способ сделать это значением по умолчанию, или необходимо было бы установить конфигурацию и launche для каждой программы (это, если они позволяют Вам устанавливать его). Я не думаю, так как это означало бы изменять Ваше целое значение $HOME. Кто-то исправляет меня, если я неправ.