1268577738 KDEとGNOMEの違いについて

Ubuntuで使われているディスクトップ環境はGNOMEだと思いますが、Qt CreatorをインストールしてQtでGUIアプリが組めるのはなぜでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/03/21 23:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:longicorn No.1

回答回数56ベストアンサー獲得回数6

ポイント60pt

回答がつかないようですので自分が分かる範囲で



まず、ご存知とは思いますが基本から書かせてもらいます。

Linux(というかUnix)ではCUIが基本でその上にGUIを担当するX Window Systemが動作しています。

このX Window Systemはクライアント/サーバとして動作しています。当然ネットワーク経由でも動作します。

おもしろいことに、PC AからPC BをGUIで操作する場合、PC A側(つまりGUI表示担当部分)がサーバで、PC Bで動作するのがクライアントという設計になっています。(つまり通常のC/Sの感覚から言えば逆です)

さらに、すこし考えると不思議な事に、グラフィック関係のハードウェアを触るはずが、ドライバではなく単なるユーザ空間でのプロセスとして動作しています。もちろん理由がありますがこのあたりはさすがに細かいので省略します。


素のX Window Systemは当然ライブラリがありプログラマはそれを使いGUIプログラミングができる訳ですが、これが最低限のGUIの機能しか提供しておらずプログラマから見れば非常に使い難いです。(昔少しだけ挑戦しましたけどプログラミングは確かに可能ですが、あまりにも面倒くさいので止めました。)

そこでこのX Window Systemのライブラリを使った、使いやすいライブラリ(早い話がX Window Systemのラッパーです)がでてきます。これがウィンドウマネージャやデスクトップ環境になります。


ここからが本題ですが、KDEにしろGNOMEにしろ突き詰めるとX Window System上で動く単なるCやC++のライブラリです。

ですので必要なライブラリさえあればGNOME上でQtアプリケーションは動作します。

自分はUbuntuを使用していますが、FluxBoxを使ったり、xfceを使ったりしていますが、FluxBox上でGnomeのアプリを動かしたり、xfce上でQtアプリを動かしたり色々できます。

もちろんその気になれば自分でウィンドウマネージャやデスクトップ環境を1から作ってGNOME上で自前GUIプログラムを動かすことも可能なはずです。


ちなみに、ウィンドウマネージャはその名の通りウィンドウの配置や外観を管理するだけです。デスクトップ環境はD&Dをできるようにしたり、背景を管理できたりウィンドウマネージャよりも広範囲の担当を行います。

またおもしろいのはデスクトップ環境とウィンドウマネージャを組み合わせることも可能です。

分かりやすい例で言えば、GNOME + CompizにすることによりGNOME環境でCompiz(3Dデスクトップ)を使用する等です。


と書きましたが、あくまでこれは自分が知っている簡単な概念のみの話ですので実際QtやGNOMEのソースコードを読んだわけではありません。

X Window SystemとQtの間にさらに何かがあるかもしれませんし、間違いも含まれているかも。

最終的にはご自分でも調べたほうが良いと思います。


最後に、ウィンドウマネージャのリストとデスクトップ環境のリストがあるURLを書いておきます。興味があれば他の環境を試すのもおもしろいかもしれません。

ウィンドウマネージャのリスト

http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%8...

http://xwinman.org/

デスクトップ環境のリスト

http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%8...

id:garyo

ありがとうございました。X Windowの部分が同じなので動くわけですね。

KDE用のソフトもGNOME用のソフトも互いにどちらででも動くわけですね。

2010/03/16 22:32:26
  • id:Km1967
    KDEもGNOMEもXwindowシステムの上に乗っかってるスキンみたいなものだからな。当然といえば当然だろう。
    (スキンって表現は間違いだがイメージしやすいだろうから使っている)

    話は変わるが、ちょっと面白い状況だぞ。
    サブであるこのKm1967とメインアカウントは回答拒否になっておるが、同じメインアカウント(当然だ不正はせぬぞ)にぶら下がっている別のサブアカウントは回答できるという状態じゃ。これは面白いと思わぬか?
    うわさ好きの集まる場所のサカナにでもしてくれ。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません