Gostaria de saber o valor padrão de uma chave dconf / gsettings.
Minha pergunta é uma continuação da pergunta abaixo: Onde posso obter uma lista de SCHEMA / PATH / KEY para usar com gsettings?
O que estou tentando fazer é criar um script que leia todas as minhas preferências pessoais para que eu possa fazer backup e restaurá-las. Eu pretendo iterar por todas as chaves, como o script acima, ver quais chaves foram alteradas em relação ao valor padrão e fazer uma anotação delas, que podem ser restauradas posteriormente.
Vejo que o dconf-editor exibe o valor padrão das chaves, mas eu gostaria muito de escrever isso. Além disso, não vejo como a análise dos esquemas /usr/share/glib-2.0/schemas/ pode ser automatizada. Talvez alguém possa ajudar?
gsettings get-default | list-defaults seria bom =)
(Geesh, era muito mais fácil antigamente onde você mantinha seu ~ / .algorc na subversão ... = \
Com base na resposta fornecida abaixo, atualizei o script para imprimir esquema, chave, tipo de dados da chave, valor padrão e valor real:
#!/bin/bash
for schema in $(gsettings list-schemas | sort); do
for key in $(gsettings list-keys $schema | sort); do
type="$(gsettings range $schema $key | tr "\n" " ")"
default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "\n" " ")"
value="$(gsettings get $schema $key | tr "\n" " ")"
echo "$schema :: $key :: $type :: $default :: $value"
done
done
Esta solução alternativa cobre basicamente o que eu preciso. Continuarei trabalhando no script de backup daqui.
gsettings reset KEY
é o caminho a seguir.Respostas:
Não parece ser uma boa maneira de obter os valores padrão diretamente, mas como o cliente verifica XDG_CONFIG_HOME no ambiente, uma solução decente para obter valores de uma nova configuração pode ser:
fonte
Se você estiver interessado em fazer backup e restaurar suas configurações (nesse caso, altere o título da sua pergunta).
Cópia de segurança
Você pode fazer backup de suas configurações com
Isso grava todas as chaves do backup de arquivo na sua pasta pessoal.
Restaurar
Até onde eu sei, não há nenhuma opção direta para importar o arquivo de volta para o dconf. Talvez você possa escrever uma rotina que leia o arquivo de backup linha por linha e execute
gsettings set <input line from backup>
para restaurar suas configurações.fonte