Можно ли установить директорию конфигурации по умолчанию в домашней папке?
Мне не нравится:
/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
Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.
Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ даранта).
Например:
Я использую 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);
Это получает путь к домашней директории либо из переменной среды HOME или из записи /etc/passwd для текущего пользователя или она устанавливает значение /tmp, если все не удается.
Различные программы получают путь HOME по-разному, вы просто не можете изменить все «домашние» ссылки на /home/user/.config.
Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.
Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ дартера).
Например:
Я использую 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);
Это получает путь к домашней директории либо из переменной среды HOME или из записи /etc/passwd для текущего пользователя или она устанавливает значение /tmp, если все не удается.
Различные программы получают путь HOME по-разному, вы просто не можете изменить все «домашние» ссылки на /home/user/.config.
Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.
Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ даранта).
Например:
Я использую 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);
Это получает путь к домашней директории либо из переменной среды HOME или из записи /etc/passwd для текущего пользователя или она устанавливает значение /tmp, если все не удается.
Различные программы получают путь HOME по-разному, вы просто не можете изменить все «домашние» ссылки на /home/user/.config.
Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.
Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ дартера).
Например:
Я использую 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);
Это получает путь к домашней директории либо из переменной среды HOME или из записи /etc/passwd для текущего пользователя или она устанавливает значение /tmp, если все не удается.
Различные программы получают путь HOME по-разному, вы просто не можете изменить все «домашние» ссылки на /home/user/.config.
Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:
conky -c /home/user/.config/.conkyrc
dosbox /home/user/.config/.dosbox/
Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.
Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ дартера).
Например:
Я использую 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);
Это получает путь к домашней директории либо из переменной среды HOME или из записи /etc/passwd для текущего пользователя или она устанавливает значение /tmp, если все не удается.
Различные программы получают путь HOME по-разному, вы просто не можете изменить все «домашние» ссылки на /home/user/.config.