Gdzie mogę uzyskać listę SCHEMA / ŚCIEŻKA / KLUCZ do używania z zestawami ustawień?

21

Po wykonaniu niektórych badań odkryłem, że mogę szybko ustawić opcje konfiguracyjne przy użyciu gsettingspolecenia w terminalu, zamiast instalowania dconf-editorlub gconf-editorlub ccsm.

Ale potrzebujemy SCHEMA / ŚCIEŻKA i KLUCZ, aby ustawić wartość.
Składnia to:

gsettings set SCHEMA[:PATH] KEY VALUE

Na przykład, aby nigdy nie ukrywać programu uruchamiającego automatycznie:

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

Aby okna nie zachodziły na program uruchamiający:

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

Skąd więc mogę uzyskać listę wszystkich SCHEMA / ŚCIEŻKI / KLUCZA, które można ustawić za pomocą ustawień gset?

Nie, proszę nie sugerować gsettings list-keyspolecenia, ponieważ nie znam możliwych setek dostępnych schematów.

Sri
źródło

Odpowiedzi:

29

gsettings list-schemasdostaniesz cały schemat. Możesz również użyć gsettings list-recursivelytego, co chcesz, ale ten program wyświetli wszystkie wartości dla wszystkich kluczy dla wszystkich schematów:
(Lest wywoła skrypt 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

Rozszerzanie twojego przykładu gsettings-iterate-all | grep com.canonical.Unity2d.Launcher daje

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 

Możesz przekierować dane wyjściowe do pliku w celu łatwego odczytu.

I dla kreatywnych ludzi tam. Oto lista możliwych opcji ustawień gset, które mogą pomóc w tworzeniu innych skryptów .

Rinzwind
źródło
1
Rinzwind, dziękuję za dodatkowe przydatne informacje. Po opublikowaniu pytania zorientowałem się, że pełna lista jest dostępna za pomocą polecenia gsettings list-rekurencyjnie, ale tak jak mówisz, podałeś wspaniałe dodatkowe informacje dla kreatywnych ludzi :)
Sri
Jeśli chcesz ustawić domyślną wartość kluczy, może to być interesujące: askubuntu.com/questions/196896/…
Zta
Bardzo przydatne ! +1
Sergiy Kolodyazhnyy
1
@Rinzwind Jako praktyczna uwaga, która może się przydać: nie wywoływać wywoływania skryptu testowego test(ja go edytowałem). Uruchamianie testbędzie działać dobrze - i doskonale spełni swoją funkcję. Ale może tak być /usr/bin/test; Aby było naprawdę szybkie, jest to także wbudowana powłoka. - Zadaniem bez argumentów jest zwrócenie kodu wyjścia 0i zachowanie ciszy. (patrz man test)
Volker Siegel,
2

Jest trochę późno, ale zacząłem walczyć z tą troską o prywatność ...

Wygląda na com.canonical.Unity.Lenses remote-content-search 'none'to, że szukasz przełącznika.

użytkownik141443
źródło
Pytanie dotyczy tego, gdzie możemy uzyskać listę kompletnego schematu. Podajesz ten, który dotyczy prywatności. To tak naprawdę nie odpowiada na zadane pytanie.
Aditya