Понимание расположения файлов домашней конфигурации: ~ /, ~ / .config / и ~ / .local / share /

14

В моем домашнем каталоге есть несколько скрытых файлов конфигурации:

  • некоторые из них ~/(например ~/.cinnamon)
  • некоторые из них ~/.config/(например ~/.config/cinnamon-session)
  • некоторые из них ~/.local/share/(например ~/.local/share/cinnamon-session)

Какова логика относительно того, где живут домашние файлы конфигурации?

а) В чем разница между скрытыми файлами в этих трех местах?

б) Что именно означает «локальный» в этом контексте, против конфигурации, против дома?

c) В домашнем каталоге есть также другие важные общие каталоги конфигурации, используемые несколькими приложениями?


Debian 8.6 Cinnamon 2.2.16

Эллиптический вид
источник
1
Некоторые из них описаны в спецификации XDG Base Directory .
StrongBad

Ответы:

16

Там долгая история здесь , когда речь идет о общем случае «точка - файлы», но $HOME/.configи $HOME/.localкаталоги , которые вы специально упомянуть имеют происхождение в спецификации XDG базовый каталог .

  • $HOME/.configкуда идут файлы конфигурации для каждого пользователя, если его нет $XDG_CONFIG_HOME.
  • $HOME/.cacheкуда идут файлы кэша для каждого пользователя, если его нет $XDG_CACHE_HOME.
  • $HOME/.local/shareкуда идут файлы данных для каждого пользователя, если их нет $XDG_DATA_HOME.

Пользователи Windows могут распознать это как параллель того, что Microsoft имела в Windows NT начиная с версии 4 (хотя имена изменились в версии 6.0):

  • %USERPROFILE%/AppData/Local/aka %LOCALAPPDATA%- куда идут файлы данных для каждого пользователя для этой машины
  • %USERPROFILE%/AppData/Roaming/aka %APPDATA%- куда попадают файлы данных для каждого пользователя, к которым может переходить перемещаемый пользователь с нескольких компьютеров
  • %USERPROFILE%/AppData/Local/Temp/aka %TEMP%- куда идут временные файлы для каждого пользователя

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

(MacOS имеет подобную систему , в которой пользователи получают индивидуальный для каждого пользователя «пользователя местных» поддерева под /var/foldersс Cи Tподкаталогами для кэша и временных файлов.)

Как отмечают сотрудники Arch, есть несколько «точечных» файлов и каталогов, которые стали широко использоваться несколькими приложениями и вряд ли согласятся с XDG в обозримом будущем, такими как $HOME/.sshи $HOME/.netrc.

дальнейшее чтение

JdeBP
источник