Como posso fazer o script das configurações feitas pelo gnome-tweak-tool?

7

Gosto de poder configurar as coisas a partir da linha de comando, para que, quando eu reinstalar o SO, eu possa simplesmente executar um script e recuperar minha configuração preferida.

Desde a "atualização" para o Ubuntu 17.10, descobri que tinha que usar o gnome-tweak-tool para obter algumas configurações do jeito que eu queria.

Depois de encontrar uma configuração na interface gráfica do gnome-tweak-tool, como posso descobrir a tradução de scripts?

Por exemplo, as linhas gsettings a seguir correspondem às entradas relevantes na tela de captura do gnome-tweak tool abaixo ...

gsettings set org.gnome.desktop.wm.preferences titlebar-font "Tahoma Bold 8"
gsettings set org.gnome.desktop.interface font-name "Tahoma 8"
gsettings set org.gnome.desktop.interface document-font-name "Tahoma 8"
gsettings set org.gnome.desktop.interface monospace-font-name "FixedSC 10"

... mas como alguém poderia adivinhar isso? E como eu, por exemplo, descobrir onde obter as configurações correspondentes para insinuações e antialiasing?

    
por st01 30.10.2017 / 22:55

2 respostas

10

Descubra facilmente o que está sendo definido

Em vez de pesquisar por todo um diretório de opções:

  1. Abra uma janela de terminal
  2. Execute o comando:

    dconf watch /
    
  3. Faça suas alterações e veja o que o terminal mostra:

    ... e você está aqui.

Dconf & amp; gsettings

No exemplo, você vê a saída de dconf . Gsettings é a interface para o dconf. Muitas vezes, você pode usar o comando dconf ou o comando gsettings . Neste caso, quer:

dconf write /org/gnome/desktop/background/show-desktop-icons false

ou:

gsettings set org.gnome.desktop.background show-desktop-icons false

Se a chave gsettings existir, no entanto, esta última é considerada uma prática melhor, para proteger a integridade do seu banco de dados dconf .

Veja também aqui e aqui .

    
por Jacob Vlijm 01.11.2017 / 08:43
5

Para a maioria das configurações, você pode usar a esta abordagem :

  • Exporte a lista de gsettings para um arquivo temporário:

    gsettings list-recursively > /tmp/gsettings.before
    
  • Faça as alterações por gnome-tweak-tool (ou unity-control-center );

  • Exporte a lista de gsettings para outro arquivo temporário:

    gsettings list-recursively > /tmp/gsettings.after
    
  • Compare os dois arquivos ( .before e .after ) e obtenha as diferenças:

    diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'
    

    Ou compare e obtenha apenas os novos valores ( source ):

    diff /tmp/gsettings.before /tmp/gsettings.after | grep -Po '> \K.*'
    

    Ou compare e obtenha apenas os novos valores, mas substitua o início das linhas por gsettings set para preparar uma lista de comandos, que serão armazenados diretamente no arquivo de script ( origem ):

    diff /tmp/gsettings.before /tmp/gsettings.after | sed 's/>/gsettings set/;tx;d;:x'
    

Você pode executar todos esses comandos a partir de uma linha (ou criar um script para automatizar o processo):

gsettings list-recursively > /tmp/gsettings.before; gnome-tweak-tool; gsettings list-recursively > /tmp/gsettings.after; diff /tmp/gsettings.before /tmp/gsettings.after | grep '[>|<]'

A próxima demonstração é criada dentro do Ubuntu 16.04. Eu acho que a abordagem deve funcionar também dentro de 17.10:

Atualização: Acabei de encontrar uma maneira fácil no Ubuntu 17.10:

    
por pa4080 31.10.2017 / 08:09