Qual é a relação entre .gconf, .gnome2, .cache, .local e outras hierarquias de arquivos de ponto no meu diretório pessoal?

14

De acordo com esta resposta , .local .cachee .configsão, por convenção, locais de armazenamento de configuração adotados pelo Gnome e Ubuntu.

São .gnome .gnome2e, .gconfportanto, diretórios de configuração legados ou devem coexistir?
E a adoção do dconf altera essas convenções de configuração de aplicativos de arquivos de ponto?

Finalmente, qual é a relação das configurações de dados do gconf-editor com esses diretórios? .Gnome / .gconf contém as mesmas informações que o gconf-editor acessa?

Atualizações: o XDG foi apontado como o motivo do .cache, .local e .config.

Esta pergunta no dconf recomenda que o dconf substitua o gconf, conforme documentado no Gnome.org . Além disso, João diz que o dconf é o

Tecnologia GNOME usada para armazenar configurações de aplicativos. [...] o dconf é o substituto do GNOME3 para o gconf, que não é mantido há algum tempo. Também é esperado que o dconf traga melhorias de desempenho em relação ao gconf (relevante para a inicialização de aplicativos).

Espero, com base nisso, que haja um caminho de migração algo anárquico das configurações do gconf para o dconf. Eu adoraria ouvir outras perspectivas.

belacqua
fonte

Respostas:

16

.local, .cache, E .configsão parte do FreeDesktop base Directório Especificação . Eles não devem realmente ser codificado, mas sim usar as variáveis de ambiente (ou seja $XDG_DATA_HOME, $XDG_CACHE_HOME, e $XDG_CONFIG_HOME). Existem wrappers GLib e Python para as especificações que também podem ser úteis. Aqui está um exemplo em Python:

>>> import xdg.BaseDirectory
>>> print xdg.BaseDirectory.xdg_data_home
/home/andrew/.local/share
>>> print xdg.BaseDirectory.xdg_config_home
/home/andrew/.config
>>> print xdg.BaseDirectory.xdg_cache_home
/home/andrew/.cache

.gnomee .gnome2estão realmente obsoletos e não devem ser usados. Estes foram usados ​​pelo módulo gnome-config do libgnome .

.gconfde fato contém as configurações gconf-editoracessadas como arquivos xml. Por exemplo, compare a saída dos seguintes comandos:

gconftool -a /desktop/gnome/applications/browser

cat ~/.gconf/desktop/gnome/applications/browser/%gconf.xml
andrewsomething
fonte
Encontrei sua resposta ao tentar descobrir como encontrar o diretório de configuração de um aplicativo gtk. Para outros programadores que vêm atrás de mim, existe um wrapper gtk (glib) que usa o XDG no Linux e também lida com o MS Windows. Informações específicas aqui: developer.gnome.org/glib/2.30/…
teambob 17/02/2012
Você está certo. Eu estava apenas sendo descritivo nesta resposta, não fornecendo exemplos práticos para um programador. Atualizarei a resposta para adicionar um pouco mais de informação para quem se deparar com isso.
andrewsomething
5

O fraseado adequado deve ser que .local, .cache, etc façam parte da Especificação do Diretório Base do XDG do FreeDesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html .

A Especificação de diretório base do XDG é um padrão e é seguida pelo KDE e outros ambientes compatíveis.

user4124
fonte
O que significa ser compatível? Existe um mandato para converter aplicativos usando uma especificação diferente da especificação do XDG ou deixá-los fora da instalação base do Gnome / KDE? Em caso afirmativo, o mandato é cumprido? Os aplicativos de terceiros não compatíveis são sinalizados por alguém ou a existência de diferentes convenções / diretórios de configuração é considerada um dado, isto é, algo que continuará até que seja voluntariamente abandonado por todos os desenvolvedores do ecossistema? Não tenho o KDE instalado, mas o Ubuntu / Gnome básico para o meu sistema 10.10 possui os diretórios XDG que você mencionou. Talvez isso seja cumprimento voluntário?
Belacqua
2
Na maioria das vezes, é conformidade voluntária, mas houve discussões no passado sobre como tornar a conformidade com o XDG um "objetivo" para todos os aplicativos na instalação padrão.
precisa saber é o seguinte
1
É uma conformidade voluntária, mas os usuários podem (e muitos o fazem) preencher relatórios de erros em aplicativos não compatíveis, solicitando que sigam o padrão. Desorganizar sua pasta $ HOME é um dos maiores benefícios do padrão XDG; portanto, a pressão do usuário geralmente é bastante alta nos aplicativos herdados.
MestreLion 11/09/12