web-dev-qa-db-ja.com

カスタムLinux GUI:どこから始めますか?

私は自分のニーズと興味に合わせたOS UIを開発することに長年関心を持っていました。私が若かったとき、Windows用のStardockスキニングツールで夢中になりました。独自のウィンドウスタイルとレイアウトのアイデアを開発するのが大好きでした。それ以来、ひっかき傷がありました。

  • 私は特に、低レベルのカーネル操作をいじるのではなく、単にプレゼンテーションの側面に興味があります。 Linuxのフレーバーを検討しています。
  • 自分で作成した基本的な統合ツール/アプリケーションが欲しいのですが、主に基本的なウィンドウ、ツールバー、デスクトップ、ファイル管理のプレゼンテーションに興味があります。
  • 可能であれば、既存のアプリケーションの使用を禁止されたくありません。たとえば、私は自分のWebブラウザを書くことに興味はありませんが、既存のツールをデザインに組み込むことができれば大きなプラスになります。
  • 私のアイデアは本質的に非常に視覚的である場合があるため、より複雑な透明効果や珍しいウィンドウ形状を作成できると便利です。多かれ少なかれ、OS XまたはWindows用の現在のUIデザインのグラフィック忠実度を再現する能力が理想的です。
  • 空白の画面から始めて、ゼロから作業を始めたり、基本を取り入れたりできるOSのフレーバーとツールが推奨されます。伝統的な意味での「デスクトップ」のアイデアは必須ではありません。さまざまなことを行う柔軟性は私にとって重要です。

私が探しているもの:

Linux/OSのフレーバーが意味をなすもの、タスクを達成するのに役立つツール/フレームワーク(Qtはここで一般的な提案のようです)、およびそのような開発/テストを開始する方法/場所に関する基本情報に興味がありますUI。また、人々が開発した可能性のある「個人用」UIについても興味があります。

これは私の通常の開発作業とはかけ離れた関心事であるため、免責事項として、混乱しているように見える場合は私の素朴さを許してください。修正洞察を歓迎します。

これは大きな質問だと思いますので、時間を割いて提案してくれてありがとう。

57
grey

独自のDE(デスクトップ環境)を構築します。一般的な例はGNOMEとKDEですが、それらの多くは人気がありました。実際には、独自のDEを構築するために非常に人気があり、専用のスクリプトツールがしばしば作成されました。

通常、ウィンドウマネージャー、ツールバープログラム、デスクトップマネージャー(アイコン)、セッションマネージャーなど、複数のツールを組み合わせる必要があります。このうち、ウィンドウマネージャーのみが必須の部分であり(通常、Xサーバー内でWMを実行しないことは意味がありません)、その他はオプションです。通常、これらのツールを一から作成することはありません(多くの作業が必要です)が、既に利用可能なコンポーネントを使用します。

GNOMEとKDEの両方が実際にこれらの要素で構成されていることに注意してください(十分に統合されています)。たとえば、GNOMEはウィンドウマネージャー(metacity)、ツールバー(gnome-panel)、デスクトップマネージャー(nautilus)などで構成されています。必要に応じて、ある要素を別の要素に変更できます。以前は、sawfishの代わりにmetacityをウィンドウマネージャとして使用し、他のすべての要素をそのままにしておくのが一般的でした。現在、compizの代わりにmetacityを使用することが一般的です。

以前は [〜#〜] fvwm [〜#〜] を使用していました。これは、ツールバー、メニューなどの作成に使用できる追加の(非常に優れた)スクリプト機能を備えたウィンドウマネージャーです。 Niceの例の1つは FVWM-Crystal です。これは、FVWMスクリプトとPythonを組み合わせて作成された、FVWMおよびその他のいくつかのツールで構築された完全なDEです。 FVWMのスクリプトコンソールを開き、コマンドを入力するだけで、実行時に実際にあらゆる種類の動作を変更できます。 FVWM-Crystalは、既に使用可能なものから開始する場合に適した開始点です。ゼロからDEを構築する場合は、裸のFVWMが適しています。

[更新: gnome-Shell は、この点でFVWMと非常に似ているようです。その動作のほとんどは、(FVWMのカスタム言語の代わりに)JavaScriptを使用してスクリプト化されており、非常に簡単に変更できます。また、GNOME3の重要な部分であり、構成を非常によくサポートしているため、非常に積極的に開発されています。ハッカーの天国です;-)]

[更新2:だから、私はgnome-Shellに正しかったようです。 Cinnamon があり、gnome-Shellと同じフレームワーク(mutterウィンドウマネージャー)を使用しますが、gnome-Shellとは異なる方法で動作するデスクトップを構築します。 ]

lynucs.org を実装する良いアイデアのソースであるWebサイトがありました。現在2年間ダウンしていますが、 archived になりました。

警告:これらのコンポーネントの多くは、特にGNOME/KDEが実際に使用可能になり始めて以来、もはやメンテナンスされていません。この分野の開発は通常、組み込みデバイスの特定の要件 phones または netbooks によります。

さて、実際の質問に答えるには:

  • Linux/OS flaver:簡単にカスタマイズできるもの:Debian、Arch、Gentoo、 [〜#〜] lfs [〜#〜] ...
  • ツール/フレームワーク:何を達成したいかによって異なります。カスタムツールバーを作成する場合は、いくつかのスクリプト言語(FVWMなど)、 adesklets などのカスタムツールを使用するか、Qtで独自のツールを作成します(他のほとんどのコンポーネントがQtにある場合)またはGTK(他のコンポーネントのほとんどがGTKにある場合)。
  • パーソナルUI:それらはたくさんあり、lynucs.orgのようなサイトはそれらのすてきな編集でした(各デスクトップで使用されるlynucのリストされたコンポーネント)。
  • 複雑な透明効果:古いツールは通常、それをネイティブに処理したり、デスクトップの壁紙の一部を独自の背景として再利用したりするような単純なことを行います(いわゆる偽の透明)。ほとんどの場合、独自のコードを書く必要があります。 compizへのプラグインとして。
47
liori

おそらくUbuntuのインストールと OpenBox ウィンドウマネージャーから開始し、そこからビルドします。

OpenBoxはvery最小限ですが、アプリケーション(Docky、Awnなど)を追加してデスクトップインターフェイス要素を提供したり、独自の要素を記述したりできます。

3
Oli

高速でクールなUIを使用する場合は、 Enlightenment を検討することをお勧めします。 Gnomeよりも古く、非常に高速で低リソース消費のオプションであることがわかりました。

1
Ashish

Tcl/Tkを試しましたか? Tclはスクリプト言語です。 Tkは言語のGUI部分です。アプリケーションは、Androidを使用してAndroWishでもどこでも実行されます。

とても簡単で、とても速い。

1時間以内に、カレンダーで議題を作成できました。

0
superlinux