Я видел, как эти каталоги используются многими приложениями, и сейчас рассматриваю возможность их использования для моего приложения. Как я узнаю, что это официально поддерживаемая папка, а не просто указатель расположения месяца для кэша / конфигурации для каждого пользователя?
Я гуглил и искал что-то официальное из Ubuntu, но безрезультатно, может быть, кто-то еще знает правильные условия поиска или местонахождение этой документации. Это то, что я должен просто принять как неустановленное стандартное место практики?
configuration
home-directory
cache
Дэнни А
источник
источник
dir
. Таким образом, да, они абсолютно «скрыты». Скрытие файлов таким способом служит хорошей цели, чтобы предотвратить их случайное изменение / удаление конечным пользователем - вот почему они все еще используются так повсеместно. Я согласен с тем, что точечные файлы не должны использоваться для безопасности, в том смысле, что их невозможно найти / прочитать / изменить..
. Они полностью невидимы? Нет, и не должно быть. Они все еще могут быть прочитаны / написаны? Да, и они должны. Являются ли они невидимыми (скрытыми) в большинстве случаев? Да - в этом сутьОтветы:
Да, есть стандарт: они определены freedesktop.org и являются частью спецификаций XDG Base Directory .
В config-spec изложены только основные требования, но подробности приведены в Базовых спецификациях каталогов. Каталоги
~/.config
и~/.cache
используются по умолчанию, если не указано иное:Вы можете заметить, что в этих спецификациях в основном указывается, где должны храниться данные, какие переменные среды используются и каким образом (нейтральные к рабочему столу, эффективны и т. Д.), Но большинство настольных компьютеров свободны в реализации части «как». Рабочие столы на основе GNOME будут использовать,
gsettings
когда пользователи KDE могут использовать то же самое черезkwriteconfig
, но оба они будут полагаться на~/.config
каталог в процессеКлючевые вопросы
Эти каталоги появляются в официальной документации, и в стандарте файловой системы также упоминается о них. Это официальная документация, поэтому папки официально поддерживаются.
Зависит от приложения, которое вы создаете. Должно ли приложение быть настраиваемым для каждого пользователя или работать согласованно во всей системе? FHS говорит нам, что для общесистемных вещей мы должны использовать
/etc
или/usr/local
, но каталоги XDG должны использоваться для пользовательских настроек -~/.cache
и~/.config
. Конечно, если приложение не зависит от пользовательских настроек, вместо каталога для пользователя можно использовать / var / cache . Конечно, у вас всегда может быть один~/.appname.conf
файл, каталог~/.appname.db
или~/.appname/
каталог для хранения конфигураций и кэша, но это будет нестандартно; не «плохо» - просто нестандартно.Смотрите также
источник