Называется ли.config другими вещами для разных системных языков?

Я делаю приложение, которое читает / пишет в файлы в папке ~/.config; Тем не менее, я хочу убедиться, что он работает под всеми системами. Является .config называются другие вещи для разных системных языков? Есть ли лучший способ получить доступ к его значению, чем использование жестко закодированных .config строка? (а-ля переменная окружения)

Какова лучшая практика для этого? Если нет признанной передовой практики, какой самый простой подход гарантирует желаемый результат?

2 ответа

Решение

Этот каталог конфигурации указан в стандарте XDG Base Directory Specification.

Ответ на ваш вопрос находится в разделе переменных среды:

$XDG_CONFIG_HOME определяет базовый каталог, относительно которого должны храниться файлы конфигурации пользователя. Если $XDG_CONFIG_HOME либо не задано, либо пусто, значение по умолчанию равно $HOME/.config должен быть использован.

Не забудьте также прочитать Основы, чтобы убедиться, что вы используете правильные каталоги для правильных файлов.

Вы также можете знать, что делать, когда $HOME не установлен. Это не указано в XDG, однако, что некоторые приложения делают, чтобы выдать ошибку и выйти. Кроме того, вы можете получить текущий идентификатор пользователя через getuid(2) и использовать getpwuid(3) извлечь домашний каталог.

Это часть спецификации XDG Base Directory:

$XDG_CONFIG_HOME определяет базовый каталог, относительно которого должны храниться файлы конфигурации конкретного пользователя. Если $XDG_CONFIG_HOME либо не установлен, либо пуст, следует использовать значение по умолчанию, равное $HOME/.config.

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