Называется ли.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.