コマンドラインからgnome-shell拡張機能を構成する


9

いくつかのスクリプトを実行して、パッケージを自動的にインストールし、OSの新規インストールでいくつかの構成を行います。私はいくつかの拡張機能を備えたgnomeシェルを使用しており、スクリプトを改善してそれらを構成することを考えていました。

私は通常、gnome-shell-extension-prefsまたはdconf-editorを使用して拡張機能を構成し、コマンドラインから他のスキーマを編集する方法を知っています。例:

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

しかし、dconf-editorを使用してorg.gnome.shell.extensionsの下にインストールされている拡張機能を見つけて編集することはできますが、スキーマが割り当てられていないようなので、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)

前もって感謝します。

回答:


11

結局自分で答えを見つけました。

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がそれらを使用できるようになります。


ほんの少し掘るだけ!
パンチョ

同じバグに遭遇しました。ローカルにインストールされている拡張機能のスキーマをグローバルディレクトリにコピーするよりも優れたソリューションが必要です。この問題の更新はありますか?
エンジニア

4

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

1
Ubuntu 18.04、GS 3.28での作業を確認。例としてgsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
eddygeek '19

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.