x 起動とディスプレイマネージャの起動の違いは何ですか?

x 起動とディスプレイマネージャの起動の違いは何ですか?

startxディスプレイマネージャの実行と起動の違いは何ですかsudo service (display_manager) start? 2つの異なるイベントが行われていましたが、その裏面の違いが何なのか気になります。

ベストアンサー1

従来のUnixシステムとMac OS X以外のほとんどの最新のUnixシステムのグラフィカルユーザーインターフェースは、次のように構築されています。Xウィンドウシステム。 Xサーバーは、ハードウェア(ディスプレイおよび入力ペリフェラル)と通信し、ウィンドウを表示し、ユーザー入力をルーティングするための基本的な基本要素を提供するコンポーネントです。 X クライアントと呼ばれる他のプログラムは、X サーバーと通信してウィンドウを表示し、ユーザー入力を聞きます。

ハードウェアと通信するには、X サーバーに特別な権限が必要な場合があります。たとえば、一部のシステムでは、X サーバーは setuid ルートです。最近のシステムは、セキュリティを強化するためにXサーバーがrootとして実行されるのを防ぎます。システムによっては、システムコンソールでXサーバーを実行することは、特定のユーザーまたはコンソールに物理的にアクセスできるユーザーに制限されることがあります。

Xサーバーは、ハードコードされた背景パターンとマウスカーソルを表示する以外には何もしません。便利なタスクを実行するには、通常、次のような一部のクライアントを起動する必要があります。ウィンドウマネージャ

GUIセッションを実行する一般的な方法は、必要なすべてのクライアント(ウィンドウマネージャ、デスクトップウィジェット、クリップボードマネージャ、ユーザーの以前のセッションで再起動するプログラムなど)の起動を担当するセッションマネージャプログラムを実行することです。セッションマネージャはXサーバーと対話するため、Xサーバーの後に起動する必要があります。すべてのデスクトップ環境には独自のセッションマネージャがあります。ほとんどすべてのウィンドウマネージャをセッションマネージャとして使用でき、状況に応じてシェルを実行している端末を最小限のセッションマネージャとして扱うことができます。重要なのは、ユーザーが次のことを実行できることです。実行したいプログラムを起動します。

GUIセッションを開始する2つの伝統的な方法があります。

  • ユーザーがすでにログインしているがまだGUIがない場合は、次のように実行できます。xinit注文する。このコマンドはXサーバーを起動し、セッションマネージャを起動し、セッションマネージャが終了するのを待ってからXサーバーを終了します。このようにして、セッションのクライアントとXサーバーは同じライフサイクルを持ちます。このstartxプログラムは小さなパッケージで提供されていますxinit
  • ユーザーがログインする前にGUIを起動することもできます。この場合、唯一のクライアントはディスプレイマネージャ、ログインプロンプトを表示します。ユーザーがログインすると、ディスプレイマネージャはセッションマネージャを呼び出します。セッションマネージャが終了すると、ディスプレイマネージャはセッションで実行中のプログラムがないことを確認し、新しいログインプロンプトを表示します。

これを見るもう1つの方法は、グラフィカルログインセッションを持つためにはグラフィカルインターフェイスが必要であり、ユーザーがログインする必要があることです。これら2つの手順は、順序に関係なく実行できます。つまり、ログインしてGUIを起動するか(startx方法)、GUIを起動してログインします(ディスプレイマネージャの方法)。

他の設定はあまり一般的ではありませんが、可能です。たとえば、キオスク設定では、システム起動スクリプトはXサーバーと単一のフルスクリーンクライアントを起動します。自動ログイン設定では、ディスプレイマネージャは起動時にデフォルトのユーザーに対してセッションマネージャを実行します。

おすすめ記事