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.

Respostas:


35

Você pode usar a gsettingsferramenta

gsettings set com.canonical.indicator.session show-real-name-on-panel false

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.


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


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 ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.