Como posso visualizar o conteúdo de um backup do arquivo de banco de dados do dconf?

18

Eu fiz um backup do arquivo onde meu banco de dados dconf está armazenado ( ~/.config/dconf/user ), e agora Eu preciso mover algumas chaves do backup para o dconf em uso.

Como posso visualizar o conteúdo do dconf copiado sem colocá-lo "no lugar" e visualizá-lo com por exemplo dconf-editor ?

    
por PetaspeedBeaver 01.05.2015 / 13:56

2 respostas

21

Para visualizar o conteúdo desse arquivo, você pode renomeá-lo. test - coloque-o em ~/.config/dconf/ e, em seguida, use dconf para ler / descarregar as configurações desse arquivo.
Por padrão , dconf lê o user-db encontrado em $XDG_CONFIG_HOME/dconf/ :

A "user-db" line specifies a user database.
These databases are found in $XDG_CONFIG_HOME/dconf/. The name of the file to open in that directory is exactly as it is written in the profile. This file is expected to be in the binary dconf database format. Note that XDG_CONFIG_HOME cannot be set/modified per terminal or session, because then the writer and reader would be working on different DBs (the writer is started by DBus and cannot see that variable).

Como resultado, você precisaria de um perfil personalizado que apontasse para esse arquivo db específico - por exemplo, user-db:test e instrua dconf para despejar os dados (usando o perfil customizado) por meio da variável de ambiente DCONF_PROFILE :

cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings

O resultado é um arquivo ( old_settings ) contendo as configurações do arquivo dconf do backup, por exemplo:

[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'

[org/gnome/desktop/input-sources]
sources=@a(ss) []
xkb-options=@as []

[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

.......

Você pode remover esses arquivos:

rm -f ~/db_profile ~/.config/dconf/test

e carregue as configurações antigas no banco de dados atual:

dconf load / < old_settings

Se você quiser apenas configurações específicas, basta fornecer o caminho:

DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

mas observe que para cada caminho você deve ter um arquivo diferente e, ao carregá-lo, deve especificar o caminho de acordo:

dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings

Observe também que, devido a alterações no upstream, os bancos de dados dconf mais antigos podem conter caminhos, chaves e valores inválidos em versões mais recentes, portanto, a compatibilidade total entre arquivos db criados por versões diferentes de dconf nem sempre é garantida . Nesse caso, você teria que inspecionar o arquivo old_settings resultante e remover ou editar manualmente as entradas inválidas antes de carregá-lo no banco de dados atual.

    
por 01.05.2015 / 16:55
0

Acho que a primeira resposta complicou muito o assunto, então vamos tentar novamente, usando /org/cinnamon/ como um namespace de exemplo para backup e restauração:

Para fazer backup / org / cannamon /:

De um terminal, execute:

dconf dump /org/cinnamon/ > backup_of_my_cinnamon_settings

salve o arquivo backup_of_my_cinnamon_settings em algum lugar para mais tarde

Para redefinir / org / cannamon / para os padrões:

dconf reset -f /org/cinnamon/

Note que a canela pode congelar ou travar fazendo isso

Para restaurar todas as suas configurações de / org / canela:

dconf load /org/cinnamon/ < backup_of_my_cinnamon_settings

O processo seria o mesmo para /org/gnome/terminal/ , etc.

Para obter melhores resultados, atualize as referências do aplicativo quando elas não estiverem em exibição.

Graças a Canela docs para as dicas.

    
por 07.12.2018 / 18:01

Tags