Como eu limpo meu banco de dados dconf?

40

O Dconf é bem jovem, mas meu banco de dados já está uma bagunça com muitas chaves "sem esquema". Existe uma maneira de fazer uma limpeza ou eu precisaria começar do zero (removendo ~ / .config / dconf / user, eu acho)?

htorque
fonte
alguma chance de adicionar uma captura de tela do que está vendo? Não vejo o mesmo problema.
fossfreedom
11
Use qualquer software que utilize GSettings / dconf, altere um dos valores padrão (por exemplo, gnome-nettool, execute um whois), remova o aplicativo. Agora você tem os restos no seu banco de dados (por exemplo, em apps.gnome-nettool). Bom se você reinstalar o software posteriormente, desejo remover essas chaves.
Htc #
Uma rápida pesquisa on-line, deixe-me encontrar um projeto do Google Code que parece fazer algo semelhante ao gconf ... isso poderia ser modificado para funcionar com o dconf?
Christopher Kyle Horton
Você já tentou examinar o arquivo de texto e tentar uma operação de substituição para remover todos os itens indesejados do seu dconf?
Severo Raz 27/07

Respostas:

34

Isso é possível usando o dconf resetcomando, embora não esteja claro se esse é o efeito colateral de um bug.

  • Para uma única chave:

    dconf reset "/path/to/the/key"
    

    Não deve terminar com a /.

  • Para um caminho inteiro:

    dconf reset -f "/path/to/the/path/"
    

    Deve terminar com um /.

Se você fizer isso enquanto estiver dconf-editoraberto, provavelmente irá travar.

htorque
fonte
Isso funciona muito bem. Para iniciantes, omita os sinais de cotação ao indicar caminhos. +1 para @htorque. Tx.
precisa saber é o seguinte
Por uma questão de exaustividade, acrescento ao meu comentário de ontem que usei com êxito essa solução no Trusty 14.04.2.
Cbhihe
3

Se você deseja limpar o banco de dados dconf, primeiro você precisa despejar toda a configuração do dconf através de:

morfik:~$ cd ~/.config/dconf/
morfik:~/.config/dconf$ dconf dump / > user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 30.0K 2015-02-07 08:18:04 ./user-backup
morfik:~/.config/dconf$ rm user

Após essas etapas, você deve reabrir sua sessão gráfica (sair / entrar). Isso criará o ~/.config/dconf/userarquivo novamente com quase 0 conteúdo - configurações padrão.

Quanto ao user-backuparquivo que você criou anteriormente, é apenas um arquivo de texto simples:

...
[apps/light-locker]
late-locking=false
lock-after-screensaver=uint32 1
lock-on-suspend=true
...

Assim, você pode editá-lo e remover as entradas / blocos desejados desse arquivo. Em outras palavras - limpe-o.

Quando terminar, carregue-o:

morfik:~/.config/dconf$ dconf load / < ./user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 14.0K 2015-02-07 08:26:23 ./user-backup
morfik:~/.config/dconf$ dconf update /

Eu acho que você deve reiniciar sua sessão gráfica depois disso novamente.

E é isso, mas você deve se lembrar de que todas as entradas com valores padrão não serão salvas - elas serão criadas novamente quando algum aplicativo solicitar, o que é uma coisa boa, porque você deseja fazer backup apenas dos valores alterados .

Mikhail Morfikov
fonte
Na verdade, isso não parece ter nenhum efeito sobre o subcaminho dconf sendo modificado e recarregado. (Eu trabalho com um Ubuntu 14.04.2 totalmente atualizado e tento remover todas as chaves relacionadas ao indicador de pacote-netspeed-unity do ppa: fixnix / netspeed.) Parece uma maneira limpa de fazer isso, mas apenas NÃO efetua nenhuma alteração.
precisa saber é o seguinte
Eu refiz isso para ter certeza, mas confirmo que isso não afeta nenhuma alteração. Acho que votei nessa resposta um pouco rápido demais. Não é possível desfazer isso agora.
precisa saber é o seguinte
Atualizei a resposta, verifique - funciona para mim.
Mikhail Morfikov
Sim, agora funciona bem. Remover ~ / .config / dconf / user antes de encerrar sua sessão do unity e iniciar novamente foram as etapas ausentes. A votação inicial permanece. Obrigado.
Cbhihe
Isso me salvou quando recebi uma tela preta depois de fazer login no gnome. Depois de abrir um tty com Alt+Ctrl+F3, pude executar essas etapas. Um comando útil adicional foi sudo pkill -u <username>reiniciar a sessão ativa da área de trabalho do gnome.
Zoltán
1

Instale a gconf-cleanerpartir do centro de software.
sudo apt-get install gconf-cleaner

Em suas próprias palavras "O GConf Cleaner é uma ferramenta para limpar seu banco de dados do Gconf, que pode estar cheio de chaves desnecessárias ou inválidas".

Parto
fonte
Não mais existem no centro de software a partir de Ubuntu 18.04 (e, possivelmente, mais cedo)
vanádio