Como altero as chaves dconf sem uma GUI (para um script pós-instalação)?

31

Eu instalei o dconf-tools. Neste caso, estou manipulando a exibição de um nome no painel no indicador de sessão.

Eu posso mudar isso no dconf-editor GUI sem nenhum problema, vou para apps / indicador-sessão e desmarque show-real-name-on-panel.

No entanto, também tentei alterná-lo usando o dconf na linha de comando:

dconf write /com/canonical/indicator/session/show-real-name-on-panel false

Após a reinicialização, o painel permanece inalterado e a chave no dconf-editor também não é alterada.

Além disso, tentar atualizar o banco de dados dconf através do terminal gera um erro:

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory

Pela minha experiência, parece que o dconf e o dconf-editor não têm nenhum relacionamento, então eu me pergunto o que estou fazendo de errado.

Se eu conseguir entender isso, quero apenas colocar o comando em um script bash para executar na próxima vez que tiver que fazer uma instalação limpa para uma atualização *. Faço muitos ajustes em 6 meses e só quero automatizar o máximo possível a partir de agora.

  • Ligeiramente fora de tópico: o mecanismo de atualização da distribuição nunca funcionou sem problemas para mim; Eu tentei de 11.04 a 11.10 também.
Inkayacu
fonte

Respostas:

35

Você pode usar a gsettingsferramenta

gsettings set com.canonical.indicator.session show-real-name-on-panel false
Anônimo
fonte
Obrigado, isso funcionou! Isso funciona em qualquer lugar que dconf funcionaria? Ele será descontinuado em favor do dconf ou continuará sendo usado no futuro próximo?
Inkayacu
Sim, o gsettings pode ser usado em qualquer lugar que o dconf o faça.
Anônimo
1
Não, não será preterido. O dconf substituiu o gconf, que será descontinuado. O gconf pode ser alterado com gconf-editorou gconftool-2. O dconf pode ser alterado com dconf-editorou gsettings.
Anónimo
O gconf salva seus arquivos no diretório inicial, no diretório .gconf /.
Anônimo
12

O seguinte funcionou para mim no Ubuntu 14.04:

dconf write /org/gnome/gnome-session/auto-save-session true

O valor mudou e permaneceu alterado após a reinicialização. Eu tive outro problema que as janelas não foram salvas, mas isso é uma questão totalmente diferente.

AlikElzin-kilaka
fonte
6

dconf dump+ loadexportação e restauração em massa

  1. Despejar todas as configurações em um arquivo:

    dconf dump / >~/.config/dconf/user.conf
    
  2. Abra esse arquivo em um editor de texto e selecione as configurações importantes:

    editor ~/.config/dconf/user.conf
    

    Se você usa o Vim, desejará esse destaque de sintaxe .

  3. Se você não sabe o nome da configuração, mas sabe como modificá-la a partir de uma GUI unity-control-center, execute:

    dconf watch /
    

    e modifique-os. A configuração exata aparecerá no terminal.

  4. Quando você deseja restaurar essas configurações, execute:

    dconf load / <~/.config/dconf/user.conf
    
  5. O Git rastreia o arquivo de configuração para nunca perdê-lo. https://github.com/andsens/homeshickhomesick é o meu método favorito atual.

Testado no Ubuntu 15.10. Dica adaptada de: http://catern.com/2014/12/21/plain-text-configuration-gnome.html

Ciro Santilli adicionou uma nova foto
fonte
1

Parece (pelo menos em 15.10) que existem algumas coisas (especificamente compiz) que apenas armazenam a configuração no dconf camada e não podem ser definidas via gsettings. É possível que isso afete outros caminhos de configuração, mas provavelmente improvável - já que o compiz está em uma camada inferior à unidade, não me surpreende que ele se comporte de maneira diferente.

Por exemplo, isso funcionará:

dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']"

enquanto isso não irá:

gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']"
# No such schema 'org.compiz.profiles.unity.plugins.core'

Agora, se eu pudesse descobrir como recarregar o compiz sem travar tudo ...

pospi
fonte