Há muito tempo, descobri que havia um padrão do freedesktop.org para onde armazenar arquivos específicos do aplicativo no usuário $HOME
: ~/.local
(ou, mais especificamente, o valor de $XDG_DATA_HOME
, junto com seus irmãos $XDG_CONFIG_HOME
, $XDG_CACHE_HOME
, etc).
Ótimo, eu disse! Uma maneira oficial de parar de bagunçar a raiz $HOME
com outro diretório de pontos! Eu imediatamente comecei a usá-lo para qualquer aplicativo (ok, pequeno script) que escrevi.
Mas desde então, observei o contínuo acúmulo de novos diretórios de pontos no meu $HOME
. E muitas vezes são aplicativos novos, voltados ao usuário, certamente criados após o padrão e projetados apenas para sistemas com uma área de trabalho instalada (por exemplo, Zoom, Dropbox).
Eles sabem algo que eu não sei? Existe alguma armadilha fatal de compatibilidade ou portabilidade?
Por exemplo, existem distros em que usar ou criar um ~/.local
causaria problemas? Esses são orientados para o usuário com uma interface de desktop? Se houver problemas de compatibilidade, existem maneiras de detectá-los e evitá-los (por exemplo, detecte que não há área de trabalho em uso e, portanto, não use ~/.local
)?