Definir o diretório de arquivos de configuração padrão

2

Posso definir o diretório de configuração padrão na pasta home?

Eu não gosto:

/home/user/Documents
/home/user/Music
/home/user/.progconf1
/home/user/.progconf2

Eu quero:

/home/user/Documents
/home/user/Music
/home/user/.config/.progconf1
/home/user/.config/.progconf2
    
por Shara 07.09.2011 / 21:00

2 respostas

2

Geralmente isso não é possível, pois os programas tendem a hardcode (coloque o caminho diretamente no código-fonte) o caminho do diretório de configuração (existem exceções, veja a resposta da linha).

Por exemplo:

Eu uso stackapplet , o que me informa sobre alterações de status em minha conta askubuntu. Em seu código diz ( config_store.py ):

CONFIG_FILE_PATH = os.path.join(os.path.expanduser("~"),".stackapplet") 

que define o CONFIG_FILE_PATH para ~/.stackapplet . Eu teria que alterar o código-fonte manualmente para substituir isso.

Outro exemplo: wireshark

homedir = getenv("HOME");
if (homedir == NULL) {
    pwd = getpwuid(getuid());
    if (pwd != NULL) {
        homedir = g_strdup(pwd->pw_dir);
    } else
        homedir = "/tmp";
}
persconffile_dir = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", homedir, PF_DIR);

Isso obtém o caminho do diretório inicial a partir da variável de ambiente HOME ou da entrada /etc/passwd para o usuário atual ou o define como /tmp se tudo falhar.

Programas diferentes obtêm o caminho HOME de maneiras diferentes, você não pode alterar todas as referências "home" para /home/user/.config .

    
por arrange 07.09.2011 / 21:23
1

Isso depende de cada programa mais do que no sistema. Em alguns casos, você pode iniciá-los com atalhos para configurações específicas. ou seja:

conky -c /home/user/.config/.conkyrc

dosbox /home/user/.config/.dosbox/

Esses comandos salvariam suas configurações dentro do .config (eu também não gosto de ter minha casa cheia de pequenos arquivos e pastas). Mas eu não sei se há uma maneira de torná-lo padrão ou você teria que definir a configuração e o lançamento para cada programa (se eles permitirem que você o defina). Eu não acho que, desde que isso significaria alterar todo o seu valor $ HOME. Alguém me corrija se eu estiver errado.

    
por animaletdesequia 07.09.2011 / 21:18