web-dev-qa-db-ja.com

ウィンドウマネージャー、ディスプレイマネージャー、ログインマネージャーはどのような順序で実行されますか

Xorgの用途を理解しようとしています。ウィンドウマネージャー、ディスプレイマネージャー、ログインマネージャーなど、たくさんの言葉に戸惑いました。

その後、stackexchangeでいくつかのリンクを取得しました 用語の調整:ディスプレイマネージャーとセッションマネージャー、ウィンドウシステムとウィンドウマネージャー それも混乱を招きます。

私はwikiの助けを借りてArchLinuxをインストールしようとしました。 xorgをインストールしたことはありません。そして、ログインユーザー名とパスワードが付いた端末しか手に入らなかった。次に、Xorg、xinitrcウィンドウマネージャー、ディスプレイマネージャーなどの用途は何ですか。

私はグーグルで、ウィンドウマネージャーが位置、ウィンドウの境界線を閉じるボタンなどを担当していることを知りました。それでは、私の質問は、それがどのような順序で実行されるのかということです。これらのそれぞれの用途は何ですか?これらすべてなしでGUIアプリケーションを実行できますか? GUIアプリケーションに必要な必須サービスは何ですか?私がこの質問をした理由はdwmsucklessユーティリティです。インストールするときはxorgのみをインストールします。

1
Vipin

ディスプレイマネージャーは、その名前が示すように、どこかのモニター/キーボード/マウスの組み合わせであるXの世界で、「ディスプレイ」(または場合によっては複数)を管理します。数十年前、1台のマシンに複数のそのような「ディスプレイ」が取り付けられていました。今日、複数のシートが表示されることはめったにありません(また、マルチシートの処理は少し異なります)。

ディスプレイマネージャは、そのディスプレイのXサーバーを起動し、失敗した場合は再起動し、(通常は)ユーザーにログイン画面を表示します。つまり、その意味では「ログインマネージャー」です(「ログインマネージャー」という用語が使われているのは聞いたことがありませんが)。

したがって、ディスプレイマネージャが最初に起動されます。 xdmは最も古いディスプレイマネージャーの1つであり、GnomeとKDEの両方に独自のディスプレイマネージャー(gdmkdm)があり、他にも次のようなものがあります。 lightdm

Xサーバーは、Xクライアント(アプリケーションプログラム)がコンテンツをディスプレイに表示できるようにするプログラムです。クライアントは、ローカルで、または(今日ではめったに)ネットワーク経由でXプロトコルを使用してサーバーと通信します。

Xサーバーはディスプレイマネージャーによって起動されますが、ディスプレイマネージャーを使用しない場合は、Xサーバーを手動で起動することもできます(多くの場合、startxというプログラムを使用)。

Xサーバーにはバリエーションはありません(少し単純化しています)。ただし、最近のディストリビューションでは、Xサーバーの代わりにWaylandを使用することが増えています。

ウィンドウマネージャー(WM)は、他のアプリケーションのウィンドウをある程度制御できる特権を持つ特別なXクライアントです。それはそれらのウィンドウの周りに装飾(タイトルバーのように)をペイントし、ウィンドウを操作するためのキーバインディングを実装し、アイコン化、最小化、ウィンドウなどのサイズを最大化または変更します。

さまざまなウィンドウマネージャーがありますが、どちらを使用するかは好みによって異なります。ウィンドウマネージャーは通常、特定のユーザーのログイン中に(デフォルトまたはカスタマイズされた)スクリプトを実行するときに、ディスプレイマネージャーによって開始されます。したがって、各ユーザーは異なるウィンドウマネージャーを持つことができます。

最新のディストリビューションでは、(必要な場合を除いて)すべてを自分で処理する必要はありません。GnomeまたはKDEデスクトップ(または他のバリアント)を選択するだけで、すべてがインストールおよび構成されます。

または、「大きな」デスクトップを使用したくないパーツを組み合わせてインストールすることもできます(たとえば、私はxdmfvwmを使用します)。しかし、その場合は、パーツをよりよく理解する必要があります。

1
dirkt