私は自分のGnome Shell Extensionsを書き始めましたが、この質問に対する答えが見つかりません->方法はありますか、拡張コードを介してgsettingsスキーマをマシンにインストールする方法(schema.xmlをglib-2.0/schemas
にコピーしないなど)ディレクトリと端末によるコンパイル)?
インストールされていないスキーマへのアクセスを「作成」しようとすると、クラッシュが始まり、そのようなスキーマが存在しないとGlassが表示し続けます。これらの拡張機能をインストールしたい潜在的なユーザーにとっては本当に不快です。
私が見つけたすべてのもの(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
現在、できません。これは拡張機能の制限ではなく、コアの制限です。GSettingsライブラリには、スキーマをプログラムでコンパイルする方法はありません。そのためには、本当にコマンドラインツールを使用する必要があります。
GSettingsは~/.local/glib-2.0/schemas
環境変数にリストされているディレクトリでスキーマを検索するため、スキーマをXDG_DATA_DIRS
に手動でコピーしてコンパイルすることはデフォルトでは機能しません。 ~/.local/glib-2.0/schemas
をXDG_DATA_DIRS
に追加すると機能します。