Я заметил, что некоторые приложения помещают свои файлы конфигурации в ~/.config/appname
то время как другие используют ~/.appname
(классический способ, AFAIK) для этого. Какой смысл в этом различии и что может быть лучше рассмотреть для моего приложения?
ОБНОВЛЕНИЕ: Похоже, что для моего (XUbuntu 11.10 по умолчанию) $ XDG_CONFIG_HOME установлено значение, ~/
и большинство приложений в моей системе (таких как Mozilla Firefox, Adobe Flash Player, Midnight Commander, Opera, Wine и т. Д.) Соответствуют этому. Но есть еще много приложений (таких как Compiz, Deadbeef, VLC, Qt Creator, Google Chrome, XFCE и т. Д.), Которые используют ~/.config/
вместо этого. Другая подозрительная вещь заключается в том, что каталоги ~/.config/
сами по себе не являются скрытыми (в их именах нет точек) - разве каталоги приложения не должны иметь постоянные собственные имена вне зависимости от местоположения (значение $ XDG_CONFIG_HOME)?
$HOME
точки зрения, это одна~/.config
запись вместо нескольких, возможно, десятки. И это делает резервное копирование ваших настроек (или исключая их) намного проще! Как вы можете отличить настройки программного обеспечения от, скажем, ваших~/Documents
или ваших~/.cache
?Поскольку те приложения, в которые помещаются файлы конфигурации
$HOME
, игнорируют спецификацию XDG Base Directory , а именно:источник
$XDG_CONFIG_HOME
установлено на~/
, но все еще используется много приложений~/.config/
/
и организовано: не смешивая данные с исполняемыми файлами с конфигурацией.~/.config
является аналогом пользователя/etc
, и это очень помогает, например, в резервном копировании. Без/.config
этого при резервном копировании настроек придется либо вручную включать все каталоги приложений, либо вручную исключать все каталоги «больших данных» пользователей (видео, музыка и любые другие личные каталоги, которые он мог создать).Более спорный ответ:
~/.config
по умолчанию для стандарта XDG, который применяется только к приложениям, придерживающимся стандартов FreeDesktop.org (также через использование$XDG_CONFIG_HOME
переменной).~/.appname
существовал до стандарта freedesktop$HOME
, на мой взгляд, не проблема.источник
~/.config
, из приложений, не имеющих отношения к FreeDesktop.org, таких как Libre Office, Chromium, Deluge, множество игр (включая, но не только все игры, использующие Unity3D), приложения Google (Chrome, Earth), Python (IPython, Eric), эмуляторы (Muppen 64, Desmune). FreeDesktop.org сам по себе имеет очень мало приложений. -~/.appname
это соглашение, существовавшее до XDG, но большая часть программного обеспечения, которое все еще используется сегодня, было создано намного позже стандарта.$HOME/.myapp
на${XDG_CONFIG_HOME:-$HOME/.config}/myapp
~/.app
более~/.config/app
?