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/.config
e $HOME/.local
que 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/folders
e C
subdiretórios T
para 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/.ssh
e $HOME/.netrc
.
Leitura adicional
- Waldo Bastian, Ryan Lortie e Lennart Poettering (2010). Especificação do diretório base XDG. Freedesktop.org.
- Chris Jackson (05/02/2008).Onde devo escrever dados de programas em vez de arquivos de programas?. Receita Original Molho Incrível. Microsoft.
- Guia de implantação de gerenciamento de dados de usuários móveis. Biblioteca Técnica do Windows Vista. Microsoft TechNet.
- https://askubuntu.com/questions/102046/
- https://unix.stackexchange.com/a/555214/5132
- https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
- Lionel Drico (11/03/2009). Modifique seu aplicativo para usar pastas XDG.