LPIC-1 - 102試験 - 106:ユーザインターフェイスとデスクトップ - 106.2 ディスプレイマネージャの設定

Last Update : September 18 2014 21:34:20

     

a. ディスプレイマネージャの概要

ディスプレイマネージャーはローカルあるいはリモートのXサーバでセッションを開始させる機能を持っています。ディスプレイマネージャは、ユーザに対してグラフィカルログイン画面を表示し、ユーザにIDとパスワードの入力を促し、ユーザ認証を行い、正しいIDとパスワードであれば、そのユーザでセッションを開始します(そのユーザでコンピュータが利用可能になります)。
ディスプレイマネージャは X Window System において、テキスト端末での init、getty、login の役割を果たします。ディスプレイマネージャがリモートのコンピュータで動作する場合、telnet サーバのように機能して、ユーザ名とパスワードを要求し、リモートセッションを開始させます。
ユーザー認証を実行できるディスプレイマネージャーは 3 種類あります。

  • GDM (GNOME Display Manager)
    Red Hat Enterprise Linux のデフォルトのディスプレイマネージャです。GNOME により、ユーザーはシステムの言語設定/シャットダウン/再起動/ログインを行うことができます。
    設定ファイルの場所: /etc/X11/gdm
  • KDM
    KDE のディスプレイマネージャであり、ユーザーはシステムのシャットダウン/再起動/ログインを行うことができます。
    設定ファイルの場所: /etc/X11/kdm
  • xdm (X Window Display Manager)
    ユーザーのシステムへのログインのみを可能にする非常に簡易なディスプレイマネージャです。
    設定ファイルの場所: /etc/X11/xdm

1. X Window System の開始(ディスプレイマネージャ利用の場合)

ランレベル 5 で起動されたときの X Window System の開始は以下のようになります。

  1. xdm 又は他のディスプレイマネージャを表示
     ↓
  2. ログインに成功すると、コンソールの所有者をユーザーに割り当てます。
     ↓
  3. その後、/etc/X11/xdm/Xsessionスクリプトが実行され、ユーザーのホームディレクトリ内の .xinitrc ファイルを検索して、デスクトップ環境を定義し、実行すべき他の X クライアントアプリケーションも定義します。
    .xinitrcファイルがない場合、システムデフォルトの/etc/X11/xinit/xinitrcファイルを代わりに使用します。
     ↓
  4. デフォルトのxinitrcスクリプトは、その後ユーザーのホーム ディレクトリ内で.Xresources、.Xmodmap、及び .Xkbmapなど、/etc/X11/ディレクトリ内でXresources、Xmodmap、及び Xkbmapを含む、ユーザー定義のファイルやデフォルトのシステムファイルを探します。
    存在していれば、XmodmapとXkbmapは、xmodmapユーティリティに使用されて、キーボードを設定します。Xresourcesファイルが、アプリケーションに対する特定のユーザー設定値を割り当てる為に読み込まれます。
     ↓
  5. これらのオプションの設定の後は、xinitrcスクリプトが /etc/X11/xinit/xinitrc.d/ディレクトリに置かれている全てのスクリプトを実行します。このディレクトリの重要なスクリプトの1つはデフォルト言語の設定などの構成をするxinputです。
     ↓
  6. xinitrcスクリプトは、ユーザーのホームディレクトリ内の .Xclientsを実行しようとして、それがない場合には /etc/X11/xinit/Xclientsへ向かいます。
    Xclients の目的はデスクトップ環境を、または単に基本のウィンドウマネージャを起動するためです。ユーザーのホームディレクトリ内の.Xclients スクリプトは .Xclients-default ファイルにあるユーザー指定のデスクトップ環境を起動します。
    ユーザーのホームディレクトリ内に.Xclientsがなければ、標準の/etc/X11/init/Xclientsスクリプトがもう1つのデスクトップ環境を開始する試みをします。GNOMEを最初に試し、次にKDE、そしてtwmと続きます。
     ↓
  7. ウィンドウマネージャが開始され、グラフィカル画面でのコンピュータの利用が可能になります。


b. xdm (X Display Manager)
  • X.org標準のディスプレイマネージャ
  • /etc/X11/xdm(/etc/xdm)ディレクトリ内の設定ファイルを使用する
● xdmの設定ファイル
 xdm-config XDMが利用する設定ファイルのパスや基本的なアクセス許可などの設定
他の設定ファイルの場所と基本的なアクセス許可を定義します。この文書に関連するすべてのディストリビューションでは、そのファイル名は、 ここに書いたとおりでした (しかし、たまに違う場所にあります)。 これは、X のセッションに関する様々な状態遷移のために実行する startup などのスクリプトも定義します。ほとんどのディストリビューションは、あらかじめ設定したものを付属させていると思われるので、 これらの変更の必要はないはずです。 XDM が管理する X のセッションと、xinit か startx によって開始される X のセッション (すなわち、XDM に管理されない X のセッション) では、startup と 設定スクリプトのセットが異なるので注意してくだ さい。
 Xaccess XDMへの接続を許可するホストの設定
どのマシンが XDM に接続できるか - 言い換えれば、ネットワーク上の 別のどのマシンからの XDMCP 検索を受け付けているか - を決めます。 このファイルに記載されていないマシンは、XDM からのログインプロンプトを要求できません。
 Xresources ログイン画面などのXリソースの設定
XDM ウィジェット (たとえば、ログインの 'box' のサイズ、色、背景 の図柄など) に利用される X のプロパティを指定します。
 Xserver Xサーバとディスプレイの対応などの設定
自動的に、XDM が接続し、ログインプロンプトを表示するマシンの一覧 を含みます - 言い換えれば、それらのマシンはすでに X サーバを実行 していますが、ログインプロンプトが提供されることを待っています。 これは、'X サーバを管理する XDM' に必要とされます。リモートの X サーバに XDM の検索をさせるなら、このファイルに記入する必要はあ りません。 独立型の 'X ワークステーション' として実行する時、ふつうはこの ファイルの中に一つのエントリがあり、それは localhost です。
 Xsetup_0 壁紙などのXDM起動時(ログイン前)の処理設定
 Xsession ログイン後に起動するプログラムなどの処理設定


c. XDMCP (X Display Manager Control Protocol)

XDMCP プロトコルは、Xサーバの自律的起動とディスプレイマネージャへの接続を指示します。X Window System では、Xサーバはディスプレイ(画面)と入力機器のあるコンピュータ上で動作します。Xサーバは XDMCP プロトコルを使って他のコンピュータ上のディスプレイマネージャと接続でき、セッション開始を要求できます。この場合、Xサーバはグラフィカルな telnet クライアントのように振る舞い、ディスプレイマネージャが telnet サーバのように振舞います。ユーザはディスプレイマネージャが動作しているコンピュータ上でプログラムを起動でき、その入出力はXサーバ経由でユーザが直接操作しているコンピュータが行います。



XDMCPはUDPの177番ポートを、サーバーとクライアント間はTCPの6000番ポートを使って通信します。
XDMCP で接続するためには、 ホスト上でデーモンプログラムxdmか、 xdmと同等の機能を提供するプログラムが動作している必要があります。 xdmと同等の機能を提供するプログラムとして、CDEデスクトップ環境ではdtlogin、 GNOMEデスクトップ環境ではgdmなどがあります。
Xサーバはディスプレイマネージャに対して Query パケットを送信することでセッション開始を要求します。そのディスプレイマネージャがそのXサーバにアクセスを許可する場合、Willing パケットで応答します。Xサーバは Broadcast Query パケットや IndirectQuery パケットでセッション開始を要求することもできます。

ディスプレイマネージャはサーバに対して自身を認証しなければならない。そのため、Xサーバはディスプレイマネージャに Request パケットを送信し、応答として Accept パケットを受信します。Accept パケットにXサーバが期待した内容が記されていれば、ディスプレイマネージャが認証されたことになります。正しい応答を行うには、例えはディスプレイマネージャが秘密鍵にアクセスできなければなりません。認証が成功するとXサーバはディスプレイマネージャにそれを伝えるため Manage パケットを送ります。すると、ディスプレイマネージャは、そのXサーバに対してXクライアントとして接続し、ログイン画面を表示します。

セッションの間、サーバは一定間隔で KeepAlive パケットをディスプレイマネージャに送信できます。ディスプレイマネージャがそれに対してある時間内に Alive パケットで応答できない場合、Xサーバはディスプレイマネージャが動作できない状態であると推定し、接続を終了させることもできます。

XDMCP の問題として telnet とも似た問題があります。それは、認証処理のパケットが暗号化されておらず、悪意ある者がそれを見て攻撃できる点です。そのため、X の通信にはSSHトンネルを使う方が安全です。



z. 出題範囲概要

●主要な知識範囲
ディスプレイマネージャをオンまたはオフにする
ディスプレイマネージャの起動画面を変更する
ディスプレイマネージャのデフォルトの色深度を変更する
Xステーションを使用するために、ディスプレイマネージャを設定する
●重要なファイル、用語、ユーティリティ
/etc/inittab xdm configuration files kdm configuration files gdm configuration files


  [ 例題 ] 
  1. 102:106.2 問01  ディスプレイマネージャ
  2. 102:106.2 問02  ディスプレイマネージャー


     

www.it-shikaku.jp