web-dev-qa-db-ja.com

gnome Shell拡張機能を使用してgsettingsスキーマをインストールするにはどうすればよいですか?

私は自分のGnome Shell Extensionsを書き始めましたが、この質問に対する答えが見つかりません->方法はありますか、拡張コードを介してgsettingsスキーマをマシンにインストールする方法(schema.xmlをglib-2.0/schemasにコピーしないなど)ディレクトリと端末によるコンパイル)?

インストールされていないスキーマへのアクセスを「作成」しようとすると、クラッシュが始まり、そのようなスキーマが存在しないとGlassが表示し続けます。これらの拡張機能をインストールしたい潜在的なユーザーにとっては本当に不快です。

5
Otaj

私が見つけたすべてのもの(googleとgtk docs)から、ウェブブラウザ経由でインストールされた拡張機能がdconf/GSettings経由で設定を保存できない正確な理由にヒットしたようです-dconfスキーマをインストールする必要がありますシステムレベル。ユーザーごとのスキーマを使用する方法はないようです-dconfは、単一のコンパイル済みバイナリファイルのみを使用します。

Gnome 3.4でこれに対するサポートを追加することに関する声明は、a)設定を保存する拡張機能の代替方法を実装する、またはb)ユーザーが$の下でスキーマをインストール/コンパイルできるようにGSettings/dconfを拡張することを信じていますホーム。

誰もがこれを確認できる(またはドキュメントへのポインタで反論する)ことができれば、私と私が確信している他の多くの人はそれを感謝するでしょう。

この投稿では制限について言及していますが、正確な理由は説明していません... http://www.ubuntubuzz.com/2011/12/gnome-Shell-extensions-website-has-been.html

2
Jim H

現在、できません。これは拡張機能の制限ではなく、コアの制限です。GSettingsライブラリには、スキーマをプログラムでコンパイルする方法はありません。そのためには、本当にコマンドラインツールを使用する必要があります。

GSettingsは~/.local/glib-2.0/schemas環境変数にリストされているディレクトリでスキーマを検索するため、スキーマをXDG_DATA_DIRSに手動でコピーしてコンパイルすることはデフォルトでは機能しません。 ~/.local/glib-2.0/schemasXDG_DATA_DIRSに追加すると機能します。

1