私は Linux (主に ubuntu) のユーザーであり、システムがどのように機能するかについて十分に理解しています (ただし、私はLinux の第一人者ではありません!)。過去に、Python/GTK で小規模なクロスプラットフォーム デスクトップ アプリケーションを開発し、それらを自己完結型のファイル ツリーとしてクライアントに配信したため、依存関係は Python 自体と GTK だけでした。
今、私は GPL 2 または 3 の下でリリースしたいubuntu 用の小さなアプレットを開発したいと思います。
特に、これらは、目標を達成するために学ばなければならないことがわかっている新しいステップです (ただし、私が気付いていないことがさらにいくつかある可能性が非常に高いです!):
- gnome との統合:アプリケーションをタスクバーでアプレットとして利用できるようにしたいです。
- D-bus の使用:特に、アプレットで ubuntu 用の新しい osd-notification フレームワークを使用したいのですが、他のアプレットとの通信も 2 回目の反復で可能な機能です。
- パッケージ化:アプリケーションがアルファ段階に達したらすぐにパブリック PPA をセットアップしたいと考えていますが、ライブラリを自分のパッケージに再度含めるのではなく、公式リポジトリの既存のパッケージからの依存関係も使用したいと考えています。
もちろん、公式ドキュメントは私の最初の知識源になりますが、SO に関する別のトピックで受け取った非常に有用な回答に基づいて判断した結果、SO コミュニティに目を向けて、次のような追加のアドバイスを収集することにしました。
- プロジェクトを実装できるようにするために学ばなければならない追加の手順はありますか?
- あなた自身の経験に基づいて、これらの手順を事前に学習するようにアドバイスしてくれますか (これらの知識はコア機能のコーディング方法に影響を与えるため)、または gnome / d-bus およびパッケージングとの統合を「より高いカプセル化レベル」として検討しますか? "後でコア機能の上に追加できます (注: D バスは、最初はデータをプッシュするためだけに使用されます。入力データは Web サービスで取得されます)。
- アプリケーションを 2 つのパッケージ (バックエンドとフロントエンド) に分割するか、1 つのパッケージにまとめるようアドバイスしてもらえますか?,
- 私がしなければならないことを学ぶために、見るように勧める有用なリソースを知っていますか?
- 私が知っておくべき一般的な「初心者の間違い」を知っていますか?
ただし、これらの質問は網羅的なものではありません。全体像から何かが欠けていると思われる場合は、正しい方向に向けていただければ幸いです。
PS: 最終的な目標の説明に失敗した場合は、プロジェクト hamsterを見てください: 私が達成したいことは、ユーザー インターフェイスの点で類似しています (つまり、アプレットはステータスを表示し、それをクリックするとアプリケーション自体が開く必要があります。そこからアプレットを構成し、さまざまな操作を実行できます)。