Где я могу получить список SCHEMA / PATH / KEY для использования с gsettings?

21

После выполнения некоторых исследований я обнаружил , что я могу быстро настроить параметры конфигурации , используя gsettingsкоманду в терминале, вместо установки dconf-editorили gconf-editorили CCSM.

Но нам нужны SCHEMA / PATH и KEY, чтобы установить значение.
Синтаксис:

gsettings set SCHEMA[:PATH] KEY VALUE

Например, чтобы никогда автоматически не скрывать панель запуска:

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

И для окон не перекрывать лаунчер:

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

Итак, где я могу получить список всех SCHEMA / PATH / KEY, которые можно установить с помощью gsettings?

Нет, пожалуйста, не предлагайте gsettings list-keysкоманду, потому что я не знаю, возможно, сотни доступных схем.

Шри
источник

Ответы:

29

gsettings list-schemasполучает вам всю схему. Вы также можете использовать gsettings list-recursivelyто, что вы хотите, но эта программа перечислит все значения для всех ключей для всех схем:
(Лест вызовет скрипт 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

Расширение на вашем примере gsettings-iterate-all | grep com.canonical.Unity2d.Launcher приводит к

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 

Вы можете перенаправить вывод в файл для удобства чтения.

И для творческих людей там. Вот список возможных опций для gsettings, которые могут помочь в создании других скриптов .

Rinzwind
источник
1
Rinzwind, спасибо за дополнительную полезную информацию. После того, как я опубликовал вопрос, я понял, что полный список доступен с помощью команды gsettings list-recursive, но, как вы говорите, вы дали отличную дополнительную информацию для творческих людей :)
Шри
Если вам нужно значение ключей по умолчанию, это может быть интересно: askubuntu.com/questions/196896/…
Zta
Очень полезный ! +1
Сергей Колодяжный
1
@Rinzwind В качестве практического замечания, которое может быть полезно: не вызывать вызов тестового сценария test(я его отредактировал). Старт testбудет работать просто отлично - и отлично справится со своей задачей. Но это может быть /usr/bin/test; Чтобы сделать это действительно быстро, это также встроенная оболочка. - Работа без аргументов - возвращать код выхода 0и молчать. (см. man test)
Фолькер Сигель
2

Уже немного поздно, но я только начал бороться с этой проблемой конфиденциальности ...

Похоже, com.canonical.Unity.Lenses remote-content-search 'none'это то переключение, которое вы ищете.

user141443
источник
Вопрос спрашивает о том, где мы можем получить список полной схемы. Вы предоставляете тот, который относится к конфиденциальности. Это на самом деле не отвечает на вопрос, который задают.
Адитья