Xディスプレイマネージャ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/15 08:06 UTC 版)
ナビゲーションに移動 検索に移動Xディスプレイマネージャ(英: X display manager)は、X Window System 上のプログラムの1つで、ローカルあるいはリモートのXサーバでセッションを開始させる機能を持つ。単にディスプレイマネージャとも呼ばれる。

ディスプレイマネージャは、ユーザに対してログイン画面を提示し、ユーザ名とパスワードを入力可能である。ユーザが正しく入力するとセッションが開始される。
ディスプレイマネージャがユーザが操作するコンピュータ上で動作する場合、ログイン画面を表示する前にXサーバを起動し、オプションでログアウトの際にもログイン画面を表示する。この場合、ディスプレイマネージャは X Window System において、テキスト端末での init、getty、login の役割を果たす。ディスプレイマネージャがリモートのコンピュータで動作する場合、telnet サーバのように機能して、ユーザ名とパスワードを要求し、リモートセッションを開始させる。
1988年10月、X11R3 でディスプレイマネージャが導入された。これは当時登場し始めていたX端末をサポートするためであった。多くのディスプレイマネージャがスタンドアロン型のXの動作するワークステーションでも、グラフィカルなログイン画面を提供するのに使われている。1989年12月、X11R4 では X11R3 での実装上の問題を解決すべく X Display Manager Control Protocol(XDMCP)が導入された。
ローカル/リモートの画面管理
ディスプレイマネージャは、ユーザが直接操作するコンピュータ上で動作する場合もあるし、リモートのコンピュータで動作する場合もある。前者の場合、ディスプレイマネージャは1つ以上のXサーバを起動し、最初にログイン画面を表示し(オプションで)ログアウトの度にログイン画面を表示する。後者では、ディスプレイマネージャは XDMCP プロトコルに従って動作する。
XDMCP プロトコルは、Xサーバの自律的起動とディスプレイマネージャへの接続を指示する。X Window System では、Xサーバはディスプレイ(画面)と入力機器のあるコンピュータ上で動作する。サーバは XDMCP プロトコルを使って他のコンピュータ上のディスプレイマネージャと接続でき、セッション開始を要求できる。この場合、Xサーバはグラフィカルな telnet クライアントのように振る舞い、ディスプレイマネージャが telnet サーバのように振舞う。ユーザはディスプレイマネージャが動作しているコンピュータ上でプログラムを起動でき、その入出力はXサーバ経由でユーザが直接操作しているコンピュータが行う。
Xサーバは特定のディスプレイマネージャに接続するよう設定することもできるし、接続可能なXディスレプイマネージャの動作しているホストの一覧を表示してユーザが選択するようにもできる。後者の場合、XDMCP Chooser プログラムを使い、次のいずれかの状態で機能する。
- 事前に定義されたホストとそのネットワークアドレスの一覧を表示する。
- ブロードキャストが届く範囲(ローカルなTCP/IPサブネット)でXDMCPサーバの動作しているホストの一覧を表示する。
ユーザがこのホスト一覧からホストを選択すると、ローカルマシンで動作しているXサーバが選択されたリモートコンピュータのXディスプレイマネージャと接続を行う。
X Display Manager Control Protocol
X Display Manager Control Protocol(XDMCP)はUDPポート 177 を使う。Xサーバはディスプレイマネージャに対して Query
パケットを送信することでセッション開始を要求する。そのディスプレイマネージャがそのXサーバにアクセスを許可する場合、Willing
パケットで応答する。Xサーバは Broadcast Query
パケットや IndirectQuery
パケットでセッション開始を要求することもできる。
ディスプレイマネージャはサーバに対して自身を認証しなければならない。そのため、Xサーバはディスプレイマネージャに Request
パケットを送信し、応答として Accept
パケットを受信する。Accept
パケットにXサーバが期待した内容が記されていれば、ディスプレイマネージャが認証されたことになる。正しい応答を行うには、例えはディスプレイマネージャが秘密鍵にアクセスできなければならない。認証が成功するとXサーバはディスプレイマネージャにそれを伝えるため Manage
パケットを送る。すると、ディスプレイマネージャは、そのXサーバに対してXクライアントとして接続し、ログイン画面を表示する。
セッションの間、サーバは一定間隔で KeepAlive
パケットをディスプレイマネージャに送信できる。ディスプレイマネージャがそれに対してある時間内に Alive
パケットで応答できない場合、Xサーバはディスプレイマネージャが動作できない状態であると推定し、接続を終了させることもできる。
XDMCP の問題として telnet とも似た問題がある。それは、認証処理のパケットが暗号化されておらず、悪意ある者がそれを見て攻撃できる点である。そのため、X の通信にはSSHトンネルを使う方が安全である[1]。
歴史
XDM(X Window Display Manager)は X11R3 で登場した。この版にはいくつかの問題があり、特に有名な問題としては、X端末の電源を入れなおしたときに発生した。X11R3 では、XDM は Xservers ファイルにあるX端末だけを認識し、しかもXDMが起動したときだけそのファイルを読み込むようになっていた。従って、ユーザーがX端末の電源を入れなおしたときは、システムアドミニストレータが XDM に SIGHUP シグナルを送り、Xservers を読み直させなければならなかった。
XDMCP は X11R4(1989年12月)で導入された。XDMCP では、Xサーバがディスプレイマネージャに対して能動的に接続を要求しなければならない。したがって、XDMCP を使ったXサーバの場合、Xservers に記述しておく必要がない。
利用可能なディスプレイマネージャ
X Window System の標準ディスプレイマネージャとしては、XDM がある。
他にもフリーなものも商用製品としても、様々なXディスプレイマネージャが開発されており、単なる画面管理以上の機能を持つものが多い。
- GNOME ディスプレイマネージャー (GDM)
- LightDM - Ubuntuにて標準採用
- KDM (KDE) - ウィンドウマネージャやデスクトップ環境をログイン時にグラフィカルに選択可能
- SDDM - LXQtにて標準採用
- dtlogin - CDEの一部
- WINGs Display Manager - Window Maker のウィジェットセット WINGs を使用
- Entrance - Enlightenment v.17 のアーキテクチャを使用
- 独立したディスプレイマネージャ
- SLiM - デスクトップ環境と独立したディスプレイマネージャ
- Nodm - デスクトップ環境と独立したディスプレイマネージャ
関連項目
参考文献
- XDMCP documentation (PostScript形式をgzipで圧縮したファイル)、freedesktop.org の X.Org CVS リポジトリより
xdm(1)
– X Japanese Documentation Project Commands マニュアル- Linda Mui and Eric Pearce, X Window System Volume 8: X Window System Administrator's Guide for X11 Release 4 and Release 5, 3rd edition (O'Reilly and Associates, July 1993; softcover ISBN 0-937175-83-8)
外部リンク
|
Xディスプレイマネージャ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/17 07:03 UTC 版)
「X Window Systemプロトコルとアーキテクチャ」の記事における「Xディスプレイマネージャ」の解説
詳細は「Xディスプレイマネージャ」を参照 Xディスプレイマネージャは、X Window Systemのグラフィカルなログインプロンプトを表示するプログラムである。それだけでなく、Xディスプレイマネージャはローカルのコンピュータ上で1つ以上のXサーバを起動し、遠隔にあるコンピュータで動作するXクライアントからのコネクション要求を受信する。ローカルなサーバはディスプレイマネージャによって起動され、相互に接続し、ログイン画面を表示する。遠隔のサーバはディスプレイマネージャとは独立して起動され、ディスプレイマネージャと接続する。この場合、ディスプレイマネージャは一種のグラフィカルなtelnetサーバのように働く。Xサーバがディスプレイマネージャと接続することでセッションが開始される。このとき、このセッションで実行されるプログラムはディスプレイマネージャの動作しているコンピュータ上で動作するが、入出力はXサーバの動作するコンピュータ上で行われる(そして、ユーザーはそのXサーバの動作する遠隔のコンピュータを使っている)。 XDMはX Window Systemの基本のディスプレイマネージャである。他のディスプレイマネージャとしては、GNOME ディスプレイマネージャー (GDM)、KDEディスプレイマネージャ (KDM) などがある。
※この「Xディスプレイマネージャ」の解説は、「X Window Systemプロトコルとアーキテクチャ」の解説の一部です。
「Xディスプレイマネージャ」を含む「X Window Systemプロトコルとアーキテクチャ」の記事については、「X Window Systemプロトコルとアーキテクチャ」の概要を参照ください。
- Xディスプレイマネージャのページへのリンク