Wo kann ich eine Liste von SCHEMA / PATH / KEY zur Verwendung mit gsettings erhalten?

21

Nach einigen Recherchen stellte ich fest, dass ich schnell Konfigurationsoptionen mithilfe des gsettingsBefehls im Terminal festlegen kann , anstatt dconf-editoroder gconf-editoroder CCSM zu installieren .

Aber wir brauchen SCHEMA / PATH und KEY, um den Wert einzustellen.
Die Syntax lautet:

gsettings set SCHEMA[:PATH] KEY VALUE

Zum Beispiel, um den Launcher niemals automatisch auszublenden:

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

Und damit die Fenster den Launcher nicht überlappen:

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

Wo kann ich eine Liste aller SCHEMA / PATH / KEY erhalten, die mit gsettings festgelegt werden können?

Nein, bitte schlagen Sie den gsettings list-keysBefehl nicht vor , da ich die möglicherweise Hunderte von verfügbaren Schemata nicht kenne.

Sri
quelle

Antworten:

29

gsettings list-schemaserhältst du das ganze Schema. Sie können auch verwenden, gsettings list-recursivelywas Sie wollen, aber dieses Programm listet alle Werte für alle Schlüssel für alle Schemata auf:
(Lest's call the script 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

Aufbauend auf Ihrem Beispiel gsettings-iterate-all | grep com.canonical.Unity2d.Launcher Ausbeuten

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 

Sie können die Ausgabe zum einfachen Lesen in eine Datei umleiten.

Und für kreative Leute da draußen. Hier ist eine Liste möglicher Optionen für gsettings, die beim Erstellen anderer Skripts hilfreich sein können .

Rinzwind
quelle
1
Rinzwind, vielen Dank für die zusätzlichen nützlichen Informationen. Nachdem ich die Frage gestellt hatte, stellte ich fest, dass eine vollständige Liste mit dem Befehl gsettings list-recursively verfügbar war, aber wie Sie sagen, Sie haben großartige zusätzliche Informationen für kreative Leute angegeben :)
Sri
Wenn Sie die Schlüssel Standardwert mögen, kann dies von Interesse sein: askubuntu.com/questions/196896/...
Zta
Sehr hilfreich ! +1
Sergiy Kolodyazhnyy
1
@Rinzwind Als praktischer Hinweis, der nützlich sein kann: Rufe kein Testskript auf test(ich habe es herausgeschnitten). Das Starten testwird gut funktionieren - und es wird perfekt funktionieren. Aber es kann sein /usr/bin/test; Um es wirklich schnell zu machen, ist es auch eine eingebaute Shell. - Es ist eine Aufgabe ohne Argumente, den Exit-Code zurückzugeben 0und still zu bleiben. (siehe man test)
Volker Siegel
2

Es ist ein bisschen spät, aber ich habe gerade angefangen, mit dieser Sorge um die Privatsphäre zu ringen ...

Es sieht so aus, als wäre com.canonical.Unity.Lenses remote-content-search 'none'es der Toggle, den Sie suchen.

user141443
quelle
In der Frage wird gefragt, wo wir die Liste des vollständigen Schemas erhalten können. Sie stellen das zur Verfügung, das sich auf Privatsphäre bezieht. Dies beantwortet die gestellte Frage nicht wirklich.
Aditya