Установить каталог конфигурационных файлов по умолчанию

Можно ли установить директорию конфигурации по умолчанию в домашней папке?

Мне не нравится:

/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
2
задан 8 September 2011 в 00:00

10 ответов

Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:

conky -c /home/user/.config/.conkyrc dosbox /home/user/.config/.dosbox/

Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.

1
ответ дан 25 July 2018 в 21:21

Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ даранта).

Например:

Я использую 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.

2
ответ дан 25 July 2018 в 21:21
  • 1
    Я тоже так думаю, но, может быть, у нас есть альтернативы? например, установить переменную по умолчанию ~ и сделать: & lt; br / & gt; /home/user/files/Music/home/user/.config1 & lt; br / & gt; // arrrrrrr глупый движок. нужна новая строка в комментариях. Религия запрещает использование nl2br? – Shara 8 September 2011 в 02:51

Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:

conky -c /home/user/.config/.conkyrc dosbox /home/user/.config/.dosbox/

Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.

1
ответ дан 2 August 2018 в 03:01

Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ дартера).

Например:

Я использую 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.

2
ответ дан 2 August 2018 в 03:01
  • 1
    Я тоже так думаю, но, может быть, у нас есть альтернативы? например, установить переменную по умолчанию ~ и сделать: & lt; br / & gt; /home/user/files/Music/home/user/.config1 & lt; br / & gt; // arrrrrrr глупый движок. нужна новая строка в комментариях. Религия запрещает использование nl2br? – Shara 8 September 2011 в 02:51

Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:

conky -c /home/user/.config/.conkyrc dosbox /home/user/.config/.dosbox/

Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.

1
ответ дан 4 August 2018 в 18:51

Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ даранта).

Например:

Я использую 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.

2
ответ дан 4 August 2018 в 18:51
  • 1
    Я тоже так думаю, но, может быть, у нас есть альтернативы? например, установить переменную по умолчанию ~ и сделать: & lt; br / & gt; /home/user/files/Music/home/user/.config1 & lt; br / & gt; // arrrrrrr глупый движок. нужна новая строка в комментариях. Религия запрещает использование nl2br? – Shara 8 September 2011 в 02:51

Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:

conky -c /home/user/.config/.conkyrc dosbox /home/user/.config/.dosbox/

Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.

1
ответ дан 6 August 2018 в 03:14

Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ дартера).

Например:

Я использую 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.

2
ответ дан 6 August 2018 в 03:14
  • 1
    Я тоже так думаю, но, может быть, у нас есть альтернативы? например, установить переменную по умолчанию ~ и сделать: & lt; br / & gt; /home/user/files/Music/home/user/.config1 & lt; br / & gt; // arrrrrrr глупый движок. нужна новая строка в комментариях. Религия запрещает использование nl2br? – Shara 8 September 2011 в 02:51

Это зависит от каждой программы больше, чем от системы. В некоторых случаях вы можете запускать их с помощью ярлыков для определенных конфигураций. ie:

conky -c /home/user/.config/.conkyrc dosbox /home/user/.config/.dosbox/

Эти команды сохранили бы их конфигурации внутри .config (мне также не нравится, когда мой дом заполнен небольшими файлами и папками). Но я не знаю, есть ли способ сделать это по умолчанию, или вам нужно будет установить конфигурацию и запуск для каждой программы (если они позволят вам установить ее). Я не думаю, что это означало бы изменение всего вашего значения $ HOME. Кто-то исправит меня, если я ошибаюсь.

1
ответ дан 7 August 2018 в 20:55

Как правило, это невозможно, так как программы имеют тенденцию к жесткому кодированию (поместить путь непосредственно в исходный код) путь к каталогу конфигурации (исключения существуют, см. ответ дартера).

Например:

Я использую 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.

2
ответ дан 7 August 2018 в 20:55
  • 1
    Я тоже так думаю, но, может быть, у нас есть альтернативы? например, установить переменную по умолчанию ~ и сделать: & lt; br / & gt; /home/user/files/Music/home/user/.config1 & lt; br / & gt; // arrrrrrr глупый движок. нужна новая строка в комментариях. Религия запрещает использование nl2br? – Shara 8 September 2011 в 02:51

Другие вопросы по тегам:

Похожие вопросы: