Linux では GUI のコンポーネントはどのように機能しますか?

Linux では GUI のコンポーネントはどのように機能しますか?

少なくともいくつかの基本的なコンポーネントがあります。

-server (to talk to drivers and listen for input)
-desktop environment (?)
-windows manager (manages apps boarders, size, position, etc) 
-other polishing apps (menus, clocks, icons)

では、マウスの位置やその他のインタラクティブなアクティビティを追跡するものは何でしょうか?

これらのコンポーネントの一部がなくなった場合、たとえば、Windows マネージャーやデスクトップ環境なしで Firefox を実行した場合、マウスなしで全画面で実行されるでしょうか?

ターミナルから GUI を完全に起動および停止するにはどうすればよいですか?

ありがとう

答え1

マウス カーソルはグラフィックス サーバーによって管理されます。クライアントは入力イベントを受信しますが、独自にポインターを描画する必要はありません。

ウィンドウも同様です。一般的な「複数のウィンドウ」の概念はコア X11 プロトコルの一部であるため、ウィンドウ マネージャーなしでも X11 でアプリケーションを実行できますが、アプリケーションは境界がなく、移動またはサイズ変更できません。デフォルトの「WM なし」フォーカス モードは、フォーカスがマウスに従います。

(Wayland では、ウィンドウ マネージャーはグラフィック サーバーと同じプロセスです。さらに、ほとんどの Wayland 環境 (および GNOME 3 などの一部の X11 環境) では、ウィンドウの装飾は通常クライアント自身によって描画されるため、境界が曖昧になります。)


「デスクトップ環境」はコンポーネントではありません。コレクションコンポーネント – DE には次のようなものが含まれます。

  • ウィンドウ マネージャーとシェル UI (デスクトップ、パネルなど) - これは、GNOME 3 や e17 のように単一のプロセスである場合もあれば、Xfce のように完全に独立したものである場合もあります。
  • 電源設定やディスプレイのホットプラグなどのさまざまなタスク用の設定マネージャー (gnome-settings-daemon など)。
  • そして、実際にすべてを起動するセッション マネージャー – これは、DM または startx によって開始される「初期」プロセスであり、これを強制終了すると、ハード ログアウトが発生します。

さらに、DE には、ファイル マネージャー、ターミナル、テキスト エディター、システム設定など、Windows の「アクセサリ」に表示される基本的なアプリのセットもあります。


グラフィック サーバーを起動する方法は、ディスプレイ マネージャーを使用する方法と手動で起動する方法の 2 つがあります。

一般的なディスプレイ マネージャーには、GDM、LightDM、SDDM、KDM、Xdm などがあります。これらの主なタスクは、グラフィック サーバー (つまり、ディスプレイ) が起動できるタイミングを自動的に検出し、通常はグラフィカル ログイン プロンプトも表示することです。ディスプレイ マネージャー自体は、serviceまたはを介して管理されるシステム サービスですsystemctl

手動で行う方法はstartx、 を実行することです。これにより、Xorg と、ファイルにリストされているクライアント.xinitrc(DE のセッション マネージャー、または単純な古い WM) が起動されます。

(Xorg は完全に手動で起動できますが、何も役に立つことはありません。画面を占有するため、最初のクライアントを別の場所から起動する必要があります。)

関連情報