Compreendendo os locais dos arquivos de configuração inicial: ~/, ~/.config/ e ~/.local/share/

Compreendendo os locais dos arquivos de configuração inicial: ~/, ~/.config/ e ~/.local/share/

Existem vários arquivos de configuração ocultos em meu diretório inicial:

  • alguns deles estão em ~/(por exemplo ~/.cinnamon)
  • alguns deles estão em ~/.config/(por exemplo ~/.config/cinnamon-session)
  • alguns deles estão em ~/.local/share/(por exemplo ~/.local/share/cinnamon-session)

Qual é a lógica de onde ficam os arquivos de configuração inicial?

a) Qual é a diferença entre arquivos ocultos nesses três locais?

b) O que exatamente significa “local” neste contexto, vs configuração, vs home?

c) No diretório inicial, existem também outros diretórios de configuração comuns importantes usados ​​por vários aplicativos?


Debian 8.6 Canela 2.2.16

Responder1

Há uma longa história aqui quando se trata do caso geral de "arquivos de ponto", mas os diretórios $HOME/.confige $HOME/.localque você menciona especificamente têm origem noEspecificação do diretório base XDG.

  • $HOME/.configé para onde vão os arquivos de configuração por usuário se não houver nenhum arquivo $XDG_CONFIG_HOME.
  • $HOME/.cacheé para onde vão os arquivos de cache por usuário se não houver nenhum arquivo $XDG_CACHE_HOME.
  • $HOME/.local/shareé para onde vão os arquivos de dados por usuário se não houver nenhum arquivo $XDG_DATA_HOME.

Os usuários do Windows podem reconhecer isso como um paralelo ao que a Microsoft tem no Windows NT desde a versão 4 (embora os nomes tenham mudado na versão 6.0):

  • %USERPROFILE%/AppData/Local/também conhecido como %LOCALAPPDATA%- para onde vão os arquivos de dados por usuário desta máquina
  • %USERPROFILE%/AppData/Roaming/também conhecido como %APPDATA%- para onde vão os arquivos de dados por usuário que um usuário móvel pode acessar de várias máquinas
  • %USERPROFILE%/AppData/Local/Temp/também conhecido como %TEMP%- para onde vão os arquivos temporários por usuário

A ideia é que os arquivos por usuário possam ser (entre muitas outras coisas)arquivos de dados do aplicativo(específico da máquina ou roaming),arquivos de configuração do aplicativo,arquivos em cache, earquivos temporáriose os aplicativos os colocam em subárvores enraizadas nesses diretórios específicos.

(O MacOS possui um sistema semelhante em que os usuários obtêm subárvores "usuário local" individuais por usuário em /var/folderse Csubdiretórios Tpara cache e arquivos temporários.)

Como observam o pessoal do Arch, existem alguns arquivos e diretórios "ponto" que se tornaram comumente usados ​​por vários aplicativos e é improvável que concordem com o XDG em um futuro próximo, como $HOME/.sshe $HOME/.netrc.

Leitura adicional

informação relacionada