Onde posso obter uma lista de SCHEMA / PATH / KEY para usar com gsettings?

21

Depois de fazer algumas pesquisas, descobri que posso definir rapidamente as opções de configuração usando o gsettingscomando no terminal, em vez de instalar dconf-editorou gconf-editorou o CCSM.

Mas precisamos do SCHEMA / PATH e KEY para definir o valor.
A sintaxe é:

gsettings set SCHEMA[:PATH] KEY VALUE

Por exemplo, para nunca ocultar automaticamente o iniciador:

gsettings set com.canonical.Unity2d.Launcher hide-mode 0

E, para que o Windows não se sobreponha ao iniciador:

gsettings set com.canonical.Unity2d.Launcher use-strut true 

Então, onde posso obter uma lista de todos os SCHEMA / PATH / KEY que podem ser configurados com gsettings?

Não, por favor, não sugira o gsettings list-keyscomando, porque não conheço as centenas possíveis de esquema disponíveis.

Sri
fonte

Respostas:

29

gsettings list-schemasrecebe todo o esquema. Você também pode usar gsettings list-recursivelyo que deseja, mas este programa listará todos os valores de todas as chaves de todos os esquemas:
(para que o programa não seja chamado gsettings-iterate-all)

#!/bin/bash
# Gnome 3 can be customised from the command line via the gsettings command
# This script should help you to find what you're looking for by
# listing the ranges for all keys for each schema

for schema in $(gsettings list-schemas | sort)
do
    for key in $(gsettings list-keys $schema | sort)
    do
        value="$(gsettings range $schema $key | tr "\n" " ")"
        echo "$schema :: $key :: $value"
    done
done

A expansão do seu exemplo gsettings-iterate-all | grep com.canonical.Unity2d.Launcher gera

com.canonical.Unity2d.Launcher :: edge-decayrate :: type i 
com.canonical.Unity2d.Launcher :: edge-overcome-pressure :: type i 
com.canonical.Unity2d.Launcher :: edge-responsiveness :: type d 
com.canonical.Unity2d.Launcher :: edge-reveal-pressure :: type i 
com.canonical.Unity2d.Launcher :: edge-stop-velocity :: type i 
com.canonical.Unity2d.Launcher :: hide-mode :: type i 
com.canonical.Unity2d.Launcher :: only-one-launcher :: type b 
com.canonical.Unity2d.Launcher :: reveal-mode :: type i 
com.canonical.Unity2d.Launcher :: super-key-enable :: type b 

Você pode redirecionar a saída para um arquivo para facilitar a leitura.

E para pessoas criativas por aí. Aqui está uma lista de opções possíveis para gsettings que podem ajudar a criar outros scripts .

Rinzwind
fonte
1
Rinzwind, Obrigado pelas informações adicionais úteis. Eu percebi depois que eu postei a pergunta que uma lista completa estava disponível usando os gsettings comando list-recursiva, mas como você diz, você tem dado grande informação adicional para pessoas criativas :)
Sri
Se você deseja o valor padrão das chaves, isso pode ser interessante: askubuntu.com/questions/196896/…
Zta
Muito útil ! 1
Sergiy Kolodyazhnyy
1
@Rinzwind Como uma observação prática que pode ser útil: Não chame chamar um script de teste test(editei-o). A partida testfuncionará bem - e fará perfeitamente o seu trabalho. Mas pode ser /usr/bin/test; Para torná-lo muito rápido, também é um shell embutido. - Seu trabalho sem argumentos é retornar o código de saída 0e ficar quieto. (veja man test)
Volker Siegel
2

É um pouco tarde, mas comecei a lutar com essa preocupação com a privacidade ...

Parece que com.canonical.Unity.Lenses remote-content-search 'none'é a alternância que você procura.

user141443
fonte
A pergunta pergunta sobre onde podemos obter a lista do esquema completo. Você está fornecendo o que diz respeito à privacidade. Isso realmente não responde à pergunta que é feita.
Aditya