経緯
LinuxでGUIを使おうと思うと、多くのディストリビューションでデスクトップ環境に複数の選択肢がある。Qt/GTKなどややこしかったので、これらについて調べたことを軽くまとめた。
重量系
歴史
オープンソースのGUI環境を作りたいという流れの中で、最初に出てきたのがKDE。Qtというプロプライエタリなツールキットを使用して作られた。
これに対し、ツールキットもオープンソースのものを使用するべきとしてGTK(GIMP ToolKit)を使って開発されたのがGNOME
KDE
もともとは K Desktop Environment の略で、あくまでデスクトップ環境の1つにすぎなかった。
やがてKDEは各種アプリケーションなども含めたより包括的な概念になり、バージョン4ではKDE Software Compilation 4と改称した。
しかし、それがKDE Frameworks、KDE Plasma、KDE Applicationsの3つに分割され、現在KDEのデスクトップ環境はKDE Plasmaと呼ばれている
GNOME
GNOME 2までは事実上のスタンダードで高評価だった。GNOME 3で大幅な変更があったため賛否両論あり、フォーク*も多く生まれている
* Cinnamon, MATEなど
軽量系
Xfce
GTKを採用している。UNIX哲学(モジュール性、再利用性)を体現している
LXDE / LXQt
LXDEはGTKを採用。後継としてQtに移行したLXQtが作られた。
LXQtの誕生によりLXDEは終了していくという話もあったものの、現在もLXDEの開発は継続している模様
QtとGTKについて
デスクトップ環境だけでなく、アプリもQtで開発されたものとGTKで開発されたものとがある。異なるGUIツールキットで開発されたアプリをインストールしても使用自体はできるものの、見た目が調和しないものになってしまう。
ただ、ルックアンドフィールを統合するためのスタイルが存在しており、それを使えば問題なく使えそう?
(参考:Qt と GTK アプリケーションの外観の統合 - ArchWiki)
メモリ使用量の比較
Arch系のディストリビューションEndeavourOSでは、複数のデスクトップ環境をインストールしておいて切り替えて使用することができる。
これを仮想マシン上にインストールして、各デスクトップ環境ごとにメモリ使用量を比較してみた。
※ 起動直後にtopを実行し、uptimeが1分になったときの数値を記録した
デスクトップ環境 | メモリ使用量(MB) |
---|---|
Cinnamon | 817.9 |
GNOME | 762.6 |
Plasma | 760.6 |
Xfce | 683.3 |
LXQt | 597.6 |
MATE | 539.0 |
LXDE | 468.3 |
i3 | 395.0 |
感想
概ね想像通りの結果となった。Xfceについては思ったよりメモリ使用量が多い印象を受けるが、EndeavourOSデフォルトのXfce環境が(透過が有効だったりと)割とグラフィカルだったので、本来はもう少し軽量かもしれない。
今時のPCならそこまでメモリについてシビアではないだろうし、Qt/GTKの違いもさほど問題にはならないようなので、見た目が気に入るのを選ぶのが良さそう
(ただ、今回の検証ではPlasmaだけ明らかにログイン後の待ち時間が長かった。環境にもよるだろうが、パフォーマンス重視なら他のものが良いか)