Linux GUIフレームワークとウィジェットツールキットの説明
あなたのLinuxデスクトップに表示されるグラフィカルインターフェイスは、GUIツールキットのおかげです。Linux上のGUIフレームワークについて知っておくべきすべてのことです。
LinuxのGUIツールキットは混乱を招くように聞こえるかもしれませんが、現代のLinuxデスクトップの外観と操作感を定義しています。これがそれらについて知っておくべきすべてです。
Linux GUIプログラムは、開発を容易にするためにツールキットを使用します
Xウィンドウシステムは、今日のLinuxデスクトップで使用されている主要なディスプレイサーバーです。グラフィカルインターフェースの要素を提供するかもしれませんが、それ自体ではユーザーインターフェース要素を供給しません。これは、元の開発者たちの意図的な設計選択です。
Xはウィンドウの装飾を描く方法を知りません。ウィンドウ内のボタンを描いたり、テキスト要素を配置したりすることはありません。これらのすべてはツールキットによって処理されます。
Xツールキットは、開発者にグラフィカル要素を手動で全て定義することなく、定義する方法を提供します。ユーザーがダイアログボックスからファイルを選択できるようにするためのコードを書く代わりに、開発者はこれをライブラリに委任することができます。
これらのツールキットは、それを使用するアプリケーション間での外観や感触も提供します。WindowsとmacOSは似た戦略を採用していますが、彼らは強制する主なスタイルが一つだけです。
Linuxには標準的なGUIがないため、異なるプログラムはしばしば異なるツールキットを使用します。さらに複雑なことに、同じLinuxツールキットを使用して、他の主要なプラットフォーム向けのプログラムを構築することもできます。
オリジナルツールキットを使用するxcalcのようなXアプリをインストールすることができます。その場合、非常に昔風に見えることに気づくでしょう。
二つの主要なGUIツールキット:QtとGTK
現代のLinuxデスクトップ環境で使用されている二大ツールキットはQtとGTKです。前者は主にKDE Plasmaに関連しており、元々のKDEはQtを使って構築されており、このプロジェクトは現在もQtにこだわっています。
GNOME と Xfce は、もともと GIMP のために開発された GTK ツールキットを使用しています。これは、90 年代に最初に開発されたときに Qt が商用ライセンスを持っていたためです。
Linuxとの関連にもかかわらず、QtとGTKはクロスプラットフォームであり、他のUnix系システムやWindows、macOSアプリの構築にも使用できます。
なぜ同じマシン上の2つのプログラムは非常に異なって見えるのか
XのUI非依存性のため、同じマシン上の異なるプログラムは外観が大きく異なる場合があります。これが、Linuxデスクトップが一般ユーザーの間で受け入れられるのに苦労している一因かもしれません。
GNOMEとKDEは、好みのツールキットを使用してアプリケーションをバンドルし、ユーザーに新しいアプリをインストールする際に主なツールキットを使用して作成されたアプリを優先するよう促すことで、この問題を回避しようとしています。
ユーザーはLinuxシステムに好きなプログラムをインストールできます。このようなユーザーインターフェースのアプローチは、Linuxの柔軟性を示しています。
今、あなたはLinuxのGUIツールキットについて知っています。
ツールキットは、現代のLinuxアプリの外観と感触を定義します。これにより、開発者がゼロからグラフィカルな要素を作成する必要がなくなり、開発が効率化されます。
QtとGTKは、現代のKDE、GNOME、Xfceデスクトップを支えています。また、異なる外観を持つ異なるツールキットで作成されたLinuxアプリも作成できます。
Linuxデスクトップを選ぶことは、その下にあるツールキットを選ぶことを意味します。誰もが自分のお気に入りを持っているようですが、どのツールキットが一番好きかは、デスクトップに何を期待するかによります。

