O que é o dconf, qual é a sua função e como usá-lo?

63

Mark Shuttleworth recentemente blogou sobre a decisão de incluir as bibliotecas do Qt na versão 11.10, com um followup de Jono Bacon. Mark afirma que o maior desafio para integrar aplicativos escritos em Qt no sistema Ubuntu maior é a não compatibilidade atual do Qt com o dconf.

O que é o dconf e qual é o papel que desempenha no Ubuntu?

    
por Chris Wilson 19.01.2011 / 19:32

3 respostas

75

Introdução

Como outras respostas neste site discutem gconf e dconf juntas, vou me concentrar apenas em discutir ferramentas de linha de comando como gsettings e o gui dconf-editor que são usadas para acessar o banco de dados dconf .

No site oficial do GNOME , observa-se que

  

dconf é um sistema de configuração de baixo nível. Seu principal objetivo é fornecer um backend para GSettings em plataformas que ainda não possuem sistemas de armazenamento de configuração.

     

O dconf é um sistema de configuração simples baseado em chave. As chaves existem em um banco de dados não estruturado (mas pretende-se que as chaves que logicamente pertencem juntas sejam agrupadas).

     

Ter todas as chaves em um único formato binário compacto também evita os intensos problemas de fragmentação atualmente experimentados pela abordagem de árvore de diretórios-de-arquivos XML.

     

O dconf é otimizado para leituras. Normalmente, a leitura de uma chave do dconf envolve zero chamadas do sistema e zero comutadores de contexto.    As gravações são menos otimizadas - elas atravessam o barramento e são tratadas por um "escritor" - um serviço DBus - de maneira comum.

Usando gsettings para ver e alterar as configurações

Uma vez que se conheça gsettings , pode ser tão fácil quanto o gui dconf-editor . As opções podem ser listadas inserindo man gsettings ou indo para as páginas de manual do Ubuntu on-line .

OBSERVAÇÃO: Como o sistema de todos tem programas diferentes instalados, você pode ter que substituir os itens específicos que escolho por outros diferentes quando estiver experimentando, já que estou usando o XUbuntu XFce com muitos programas GNOME .

Para listar todos os esquemas disponíveis, digite

gsettings list-schemas

Para incluir também todas as chaves, insira

gsettings list-recursively

No entanto, , normalmente é mais fácil especificar com o que você deseja, por exemplo,

gsettings list-schemas | grep -i shotwell

Isso retorna uma longa lista; Eu encurtou para:

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

Agora, quando você encontrar o esquema em que está interessado, liste as chaves com

gsettings list-keys org.yorba.shotwell.preferences.ui

Isso retorna uma lista (novamente eu a encurtei):

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

Escolha um e veja qual é o valor atual com

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

Isso retorna um valor verdadeiro, então, para reverter isso, use

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

Estes são exemplos triviais , mas mostram basicamente como as chaves e os valores são identificados e alterados com gsettings .

Usando o dconf-editor para alterar as configurações

O programa gui, dconf-editor está instalado (em 12.04) clicando:

ou executando

sudo apt-get install dconf-tools

Em seguida, execute-o inserindo o terminal ou no menu de início rápido, dconf-editor .

Como você pode ver na captura de tela, todos os vários esquemas podem ser expandidos no lado esquerdo e a chave apropriada selecionada. É muito simples navegar para o valor desejado (nesse caso, as gnome-mplayer preferences). Você pode clicar na caixa de seleção para ativar um valor ou adicionar um valor numérico em uma das outras caixas. Você também pode pesquisar no editor dconf com o atalho de teclado Ctrl + F .

Você também pode adicionar outro log a log-viewer adicionando um caminho no formulário ['/var/log/auth.log', var .... '] na captura de tela abaixo.

Conclusão

Existem muitas outras maneiras úteis de ajustar configurações com gsettings e dconf-editor e elas são fáceis de usar. Vale a pena examiná-los para ver se há opções lá que não estão nas preferências dos programas, pois você pode personalizar seu programa exatamente como deseja. Como a fossfreedom recentemente mostrou nesta questão

saber como usar gsettings ou dconf-editor é extremamente valioso. Veja também:

por user76204 20.09.2012 / 18:31
22

Para aqueles que vêm de janelas que querem uma resposta simples, dconf é o gnome equivalente ao registro do windows ... uma grande árvore binária onde qualquer programa pode armazenar e compartilhar sua configuração.

Eles primeiro migraram das configurações tradicionais do unix (um arquivo de texto para cada aplicativo, cada um com seu próprio formato) para uma árvore padrão de arquivos XML, gerenciada pelo gconf. Nos últimos tempos, como quase ninguém editou esses arquivos XML diretamente e os problemas de desempenho de ler e analisar MUITOS arquivos, eles migraram para um formato binário migrando do gconf para o dconf.

Ao contrário do registro do windows, o dconf deve ter todas as entradas de configuração listadas, mesmo que elas estejam configuradas com os valores padrão. Portanto, não há entradas ocultas, você pode alterar ou redefinir, em seguida, para padrão facilmente.

    
por higuita 20.08.2013 / 13:47
10

O dconf não é específico do Ubuntu, é a tecnologia GNOME usada para armazenar as configurações do aplicativo. Para mais detalhes, por favor leia link

    
por João Pinto 19.01.2011 / 19:36