UNIXシステムについてもっと詳しく知りたいのですが、非常に直接的な質問があるようです。私はXが何であるかを知っていると思います。 Xは、アプリケーションがUIをレンダリングする標準を提供します。
しかし、なぜGnome / KDEが必要で、Xとどのような関係がありますか?私は彼らがXをアプリケーションとGUIの間の一種のインターフェースとして使用していると思います。したがって、インターフェイスはアプリケーション間で同じままの間にGUIをカスタマイズできます。
これは本当ですか、それともGnome / KDEはXとは無関係ですか?
答え1
(私は現在GNOMEと
1. GUIは何で構成されていますか?
GUIが何であるかは誰もが知っていると思います。
以下は、GUIの基本コンポーネントの図です。
ウィンドウシステムユーザーインターフェイス用のWIMP(ウィンドウ、アイコン、メニュー、ポインタ)パラダイムを実装するGUIです。
ここLinuxおよびWindowsシステム用のデフォルトのWindowsシステムのリスト。
ウィンドウシステムの主なコンポーネントは次のとおりです。サーバーの表示(またはWindowsサーバー、コンポジター)。ウィンドウにGUIをレンダリングするすべてのアプリケーションは、顧客サーバーを見せてください。
クライアントとサーバーが関連しているため、通信プロトコルが必要です。サーバープロトコルの表示確かに。
ディスプレイサーバーは、クライアントと残りのオペレーティングシステム、ハードウェア、および相互間の入力と出力を調整することが主な作業であるプログラムです。これは、グラフィックインターフェイスのより高いレベル(当然、GUIシステムが階層化されたデザインを持つ)要素で使用するためのグラフィックハードウェアの抽象化を提供します。ウィンドウマネージャ。
さまざまなディスプレイサーバーが利用可能です。たとえば、
- X.Orgサーバー(主に *nix で使用)
- Wayland(主に* nixで使用)
- Mir (主に *nix で使用)
- SurfaceFlinger(Google Android用)
- Quartz Compositor(Apple MacOSで使用しています。)
- デスクトップウィンドウマネージャ(Microsoft Windowsで使用しています)
2. Xとはどういう意味ですか?
X、X11、およびXウィンドウシステムは同義語です。彼らは皆ウィンドウシステム。
上記のように、Xウィンドウシステムの重要なコンポーネントであるディスプレイサーバーは、X.Orgサーバー。
時にはX.Orgサーバーは単にXサーバーとも呼ばれます。
GUIを実行してレンダリングするすべてのアプリケーションは、顧客~のサーバーの表示。ディスプレイサーバとそのクライアントは、一般的に呼び出される通信プロトコルを介して互いに通信します。サーバープロトコルの表示、ディスプレイサーバは仲裁人クライアントとユーザーの間。ディスプレイサーバーはカーネルからすべての入力を受け取ります。カーネルは、接続されているすべての入力デバイス(キーボード、ポインティングデバイス、またはタッチスクリーンなど)からそれを受け取り、正しいクライアントに送信します。ディスプレイサーバは、クライアントの出力をコンピュータモニタに出力する役割も担う。 ㅏサーバープロトコルの表示ネットワークをサポートしたり、ネットワークを透明にしたりすることもできます。 (これは本質的にデータフローとルーティングに関するものであり、視覚データはまだデータであることがわかります。)
そして基盤としてここ:
X.Orgサーバーは、次の機能を提供するプログラムです。ディスプレイおよびユーザー入力サービス他のプログラムに。これとは対照的に、ファイルサーバーは他のプログラムにファイルストレージデバイスへのアクセスを提供します。ファイルサーバーは通常リモートの場所にあり、自分のコンピュータでファイルサーバーのサービスを使用できます。代わりに、Xサーバーは通常、お使いのコンピュータと同じコンピュータで実行されます。;ディスプレイとユーザー入力サービスは、コンピュータで実行されるプログラムです。離れてマシン。
したがって、Xウィンドウシステムは次のような部分で構成されています。
- サーバーの表示
- サーバープロトコルの表示
- 開発のためのいくつかのライブラリ
- そして他のもの
~によるとここ:
X(Windowsシステムだと思う)は、GUI環境のための基本的なフレームワークを提供します。つまり、ディスプレイデバイス上でウィンドウを移動し、マウスやキーボードと対話します。 Xはユーザーインターフェースを必要としません。これは別のプログラムによって処理されます。その結果、Xベースの環境の視覚的なスタイルは非常に多様であり、さまざまなプログラムはまったく異なるインターフェースを提供できます。
つまり、Xウィンドウシステムはプログラムに基本的な操作を実行する機能のみを提供します。ウィンドウの描画/移動そして入力相互作用。 Xは視覚的なスタイルを強制しません。何を描くかを提供するのではなく、描画方法を提供するだけです。だから「と言ったじゃないか。...アプリケーションにUIレンダリング標準を提供します...「不正確です。
3. 窓管理者とは何ですか?
GNOME / Xfce / KDEを使用できます。ウィンドウマネージャ。どちらもXディスプレイサーバーで動作するため、両方が呼び出されます。Xウィンドウマネージャ。ウィンドウマネージャはXサーバとXクライアントと連携して動作します。上記のGUI構成図では、ウィンドウマネージャがどこにあるかを確認できます。ここさまざまな種類のウィンドウマネージャがあります。
4. GNOME/KDE/Xfce デスクトップとは何ですか?
GNOME、KDE、およびXfceデスクトップはすべてLinuxです。デスクトップ環境。デスクトップ環境は、オペレーティングシステムで実行される一連のプログラムです。共通GUIを共有します。。
ただし、上記のように、X11はディスプレイサーバーとして機能します。基本的な描画機能のみが提供されます。XlibやXCBなどのいくつかのライブラリを介して。これらのライブラリを介してX11に直接接続するアプリケーションには、次のものがあります。全く異なるビジュアルスタイル。
それでは、ユニバーサルGUIを作成する方法は?来るウィジェットツールキット。例えばGTKそしてQt。彼らはウェイランドとX11で人気があります。ウィンドウシステム。
GNOMEとXfceはGTKを使用します。
KDEはQtを使用します。
そしてここX Window System デスクトップ環境の比較です。
5. gdm3、lightdm、kdmとは何ですか
みんなディスプレイマネージャ、「dm」セクションに示すように。
個人的に私は思うディスプレイマネージャ誤解の所持がある名前だ。最もよく知られているグラフィックログインマネージャ。これは通常、デフォルトのシェルではなく起動プロセスの最後に表示されるグラフィカルユーザーインターフェイスです。
さまざまなデスクトップ環境では、さまざまなログインマネージャを使用してビジュアルスタイルを一貫して維持します。
- GNOMEはgdm3を使用します。
- Xfceはlightdmを使用します
- KDEはkdmを使用します
ディスプレイマネージャは次のことができます。同じコンピュータまたは別のコンピュータでXサーバーのセッションを開始する。
要約すると、あまり詳しく説明しないでください。
GUIにはさまざまな種類があります。ウィンドウシステムGUIの一種です。
すべてのウィンドウシステムのコアコンポーネントは、しばしば呼び出されます。サーバーの表示。
ウィンドウシステム、例:X、抽象的なハードウェアとIO。描画、ウィンドウ移動、IO処理などの基本的なサービスを提供します。
ウィンドウマネージャ、例えばGNOME、Xfce、KDEはディスプレイマネージャの上で動作し、ユーザーが見るものの外観と感触を提供します。
ㅏデスクトップ環境共通のビジュアルスタイルを共有するアプリケーションのグループです。
ディスプレイマネージャ、またはグラフィカルログインマネージャは、グラフィカルログインインターフェイスを提供します。
おおよその概念図を描いてみました。オペレーティングシステムの上の3つの部分は非常にカスタマイズ可能です。これが柔軟性(混沌)が多い理由です。
2018年9月21日午後1時 - 1時26分に追加されました
そしてここQTとGTKについてはいくつかの議論があります(しかし、これはこの記事から外れたものかもしれません...)。
答え2
Xorg(および初期のXfreeとより早い X10)はプロトコルサーバとしてよく知られています。Xウィンドウシステム;アプリケーションが「画面」に描画できるようにします。リモートコントロールにはX.Gnome / KDE / Xfceなどを使用できます。ウィンドウマネージャ/デスクトップ環境は、境界線やアイコンのようなもの、そしてアプリケーション自体が描かないことを最小限に抑え、最大化するXで実行される特別なアプリケーションです。
また、GnomeとKDEはどちらもMS Windows(およびさまざまなレベルのWayland)で実行できるため、Xとは無関係です(または実行できます)。