Eu já vi esses diretórios sendo usados por muitos aplicativos e agora estou pensando em usá-los para o meu aplicativo. Como sei que essa é uma pasta com suporte oficial e não apenas um local do mês para um cache / configuração por usuário?
Eu tenho pesquisado no Google algo oficial do Ubuntu, mas sem sucesso, talvez alguém conheça os termos de pesquisa ou a localização adequada desta documentação. Isso é algo que devo aceitar como um local de prática padrão não declarado?
configuration
home-directory
cache
Danny A
fonte
fonte
dir
. Dessa forma, sim, eles são absolutamente "ocultos". Ocultar arquivos dessa maneira serve para impedir que sejam acidentalmente alterados / excluídos pelo usuário final - é por isso que eles ainda são usados de maneira tão onipresente. Concordo que os dotfiles não devem ser usados por segurança, no sentido de que não é impossível encontrar / ler / alterar..
. Eles são totalmente invisíveis? Não, e eles não deveriam ser. Eles ainda podem ser lidos / gravados? Sim, e eles deveriam. Eles são invisíveis (ocultos) na maioria dos casos? Sim - esse é o ponto #Respostas:
Sim, existe um padrão: eles são especificados no freedesktop.org e fazem parte das Especificações do diretório base do XDG .
O config-spec descreve apenas os requisitos básicos, mas os detalhes estão nas Especificações do Diretório Base. Os diretórios
~/.config
e~/.cache
são padrão, a menos que configurado de outra forma:Você pode observar que essas especificações afirmam principalmente onde os dados devem ser armazenados, quais variáveis de ambiente são usadas e de que maneira (neutro em relação à área de trabalho, eficiente etc.), mas a maioria das áreas de trabalho é livre na implementação da parte "como". As áreas de trabalho baseadas no GNOME usarão
gsettings
onde os usuários do KDE podem usar o mesmo viakwriteconfig
, mas ambos confiarão no~/.config
diretório no processoPontos-chave da pergunta
Esses diretórios aparecem na documentação oficial e o Filesystem Hierarchy Standard também os menciona. Esta é a documentação oficial, portanto, as pastas são oficialmente suportadas.
Depende do aplicativo que você está criando. O aplicativo deve ser configurável por usuário ou funcionar de forma consistente em todo o sistema? O FHS nos diz que, para todo o sistema, devemos usar
/etc
or/usr/local
, mas os diretórios XDG devem ser usados para configurações específicas do usuário -~/.cache
e~/.config
. Obviamente, se o aplicativo não depender de configurações específicas do usuário, / var / cache poderá ser usado em vez do diretório por usuário. Obviamente, você sempre pode ter um único~/.appname.conf
arquivo, um diretório~/.appname.db
ou~/.appname/
para manter as configurações e o cache, mas isso não seria padrão; não é "ruim" - apenas fora do padrão.Veja também
fonte