O .config é chamado de outras coisas para diferentes linguagens do sistema?

7

Estou fazendo uma aplicação que lê / escreve em arquivos na pasta ~ / .config; no entanto, quero ter certeza de que funciona em todos os sistemas. O .config chamou outras coisas para idiomas de sistema diferentes? Existe uma maneira melhor de acessar seu valor do que usar uma string .config codificada? (a la uma variável de ambiente)

Qual é a melhor prática para isso? Se não houver uma melhor prática estabelecida, qual é a abordagem mais simples que garante o resultado desejado?

    
por weberc2 19.02.2013 / 20:43

2 respostas

8

Esse diretório de configuração é especificado pela especificação de diretório base do XDG padrão.

A resposta para sua pergunta está na seção Variáveis de ambiente :

  

$XDG_CONFIG_HOME define o diretório base relativo ao qual os arquivos de configuração específicos do usuário devem ser armazenados. Se $XDG_CONFIG_HOME não estiver definido ou vazio, um padrão igual a $HOME/.config deverá ser usado.

Certifique-se de ler também Noções básicas , para garantir que você esteja usando os diretórios corretos para os arquivos corretos.

Você também pode querer saber o que fazer quando $HOME não está definido. Isso não é especificado pelo XDG, no entanto, o que alguns aplicativos fazem é lançar um erro e sair. Como alternativa, você pode obter o ID do usuário atual via getuid(2) e usar getpwuid(3) para extrair o diretório inicial.

    
por Andrea Corbellini 19.02.2013 / 20:50
5

Isso faz parte da Especificação de diretório base do XDG :

  

$ XDG_CONFIG_HOME define o diretório base relativo ao qual os arquivos de configuração específicos do usuário devem ser armazenados. Se $ XDG_CONFIG_HOME não estiver definido ou vazio, um padrão igual a $ HOME / .config deverá ser usado.

    
por Florian Diesch 19.02.2013 / 20:50