developer.ubuntu.comによると、基本的に2つの目的があります。
-システムにハードウェア機能を宣言する
Ubuntuドキュメントからの引用:
ガジェットスナップは、実装の観点からは通常互いに似ている1つ以上のデバイスに固有のシステムプロパティを定義および操作する役割を果たします。このスナップは、モデルアサーションを介して定義されるデバイスブランドによって作成および署名される必要があります。ブランドは、そのデバイスがどこでどのように使用されるかを知っており、それに応じてガジェットスナップを設計します。
たとえば、ブランドは、デバイスが実際には特定のクラウドで使用される特別なVMであることを知っている場合や、特定の工場で製造されることを知っている場合があります。ガジェットスナップは、デバイスの初期化のメカニズム(キーの生成とIDの認証)だけでなく、工場出荷時のリセットなどのデバイスのライフサイクルの特定のプロセスをエンコードする場合があります。異なるモデルがガジェットスナップを共有することは完全に可能です。
-このハードウェアを使用する必要があるスナップへのアクセスを事前に許可します
また、Ubuntuドキュメントから:
オプションのprepare-device フックは、ガジェットスナップがインストールされた後、デバイスの初期化プロセスの開始時にガジェットで呼び出されるスクリプトです。初期化が失敗した場合にこのプロセスが後で最初から再試行される場合にも、フックが呼び出されます。
デバイス初期化プロセスは、たとえば、デバイスサービスとの交換を通じてデバイスのシリアルIDを設定する役割を果たします。prepare-deviceフックは、たとえばこの交換をリダイレクトし、それに関連するオプションを動的に設定できます。