Настройте расширения оболочки gnome из командной строки

Мне нравится запускать несколько сценариев для автоматической установки пакетов и выполнения некоторых настроек при новой установке ОС. Я использую оболочку gnome с несколькими расширениями и думал об улучшении моих скриптов для их настройки.

Я обычно настраиваю расширения, используя gnome-shell-extension-prefs или dconf-editor, и я знаю, как редактировать другие схемы из командной строки. Пример:

gsettings set org.gnome.desktop.background picture-options stretched

Но, хотя я могу найти и отредактировать установленные расширения в org.gnome.shell.extensions с помощью dconf-editor, я не могу получить к ним доступ с помощью gsettings, так как они, кажется, не имеют назначенная схема:

No such schema 'org.gnome.shell.extensions.extname'

Кажется, единственные расширения, доступные с помощью gsettings, - это те, которые были предустановлены.

Итак, вопрос в том, как я могу настроить установленные расширения из командной строки? Есть ли способ присвоить gsettings скомпилированные схемы в ~/.local/share/gnome-shell/extensions/? Может быть, я смотрю не в ту сторону.

Среда: Ubuntu Gnome 14.04 (Gnome Shell 3.10.4)

Заранее благодарю.

8
задан 24 May 2017 в 18:21

3 ответа

Найденный ответом один в конце.

sudo cp ~/.local/share/gnome-shell/extensions/extname/schemas/org.gnome.shell.extensions.extname.gschema.xml \
    /usr/share/glib-2.0/schemas/ &&
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Копия и компиляция схемы в ~/.local/share/gnome-shell/extensions и gsettings будут в состоянии работать с ними.

9
ответ дан 24 May 2017 в 18:21

Я записал этот сценарий: сценарий Bash для позволения/запрещения расширений оболочки гнома и больше .

Просто CP это в /usr/bin или /usr/local/bin и делают это исполняемым файлом:

sudo chmod +x /usr/bin/gnome-shell-extension-cl

Проверка справка.

Включают расширение:

gnome-shell-extension-cl -e extension-name

Отключают расширение:

gnome-shell-extension-cl -d extension-name
0
ответ дан 24 May 2017 в 18:21

В CentOS 7 - и я думал бы в Ubuntu также - я определил то, что я думаю, небольшое улучшение на принятом ответе путем представления - schemadir переключатель следующим образом:

# gsettings --schemadir ${schemaDir} set ${schema} ${key} "${value}"

В вышеупомянутых gsettings команды непосредственно устанавливает ${key} кому: ${value} в ${schema} где ${schema} не находится в значении по умолчанию /usr/share/glib-2.0/schemas каталог. (и нет никакого требования для перемещения схемы в каталог по умолчанию),

Некоторые примеры:

gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
gsettings --schemadir ~/.local/share/gnome-shell/extensions/unitylike-hotkey@webgyerek.net/schemas/  list-recursively org.gnome.shell.extensions.app-keys
gsettings --schemadir ~/.local/share/gnome-shell/extensions/emoji-selector@maestroschan.fr/schemas/  list-recursively org.gnome.shell.extensions.emoji-selector
3
ответ дан 23 November 2019 в 05:31

Другие вопросы по тегам:

Похожие вопросы: