Manpages

名 前

xdm − X デ ィ ス プ レ イ マ ネ ー ジ ャ (XDMCP, ホ ス ト 選 択 機 能 付 き )

書 式

xdm [ −config configuration_file ] [ −nodaemon ] [ −debug debug_level ] [ −error error_log_file ] [ −resources resource_file ] [ −server server_entry ] [ −session session_program ]

説 明

xdm は ロ ー カ ル ホ ス ト や リ モ ー ト ホ ス ト に あ る X の い ろ い ろ な デ ィ ス プ レ イ の 集 合 を 管 理 す る 。 xdm の 設 計 は 、 X 端 末 の 必 要 性 と The Open Group 標 準 の XDMCP (X Display Manager Control Protocol)に 則 っ て 行 わ れ た 。 xdm は キ ャ ラ ク タ 端 末 上 で init, gettylogin が 行 な う こ と と 同 じ こ と 、 つ ま り ロ グ イ ン 名 と パ ス ワ ー ド の プ ロ ン プ ト を 出 し て ユ ー ザ 認 証 を 行 い 、 「 セ ッ シ ョ ン 」 を 起 動 す る 。 「 セ ッ シ ョ ン 」 は 伝 統 的 な 文 字 ベ ー ス の 端 末 の 世 界 で は 特 定 の プ ロ セ ス の 存 続 期 間 と し て 定 義 さ れ る 。 こ の 特 定 の プ ロ セ ス と は ユ ー ザ の ロ グ イ ン シ ェ ル で あ る 。 xdm 環 境 で は 任 意 の セ ッ シ ョ ン マ ネ ー ジ ャ が 利 用 で き る 。 な ぜ な ら 、 ウ ィ ン ド ウ 環 境 に あ る た め 、 ユ ー ザ の ロ グ イ ン シ ェ ル プ ロ セ ス は 接 続 を 行 う た め の 端 末 の よ う な イ ン タ フ ェ ー ス を 必 要 と し な い か ら で あ る 。 本 当 の セ ッ シ ョ ン マ ネ ー ジ ャ が 使 え な い 時 は 、 普 通 ウ ィ ン ド ウ マ ネ ー ジ ャ か 端 末 エ ミ ュ レ ー タ を 「 セ ッ シ ョ ン マ ネ ー ジ ャ 」 と し て 用 い る 。 こ の セ ッ シ ョ ン マ ネ ー ジ ャ の プ ロ セ ス が 終 了 す る と ユ ー ザ の セ ッ シ ョ ン が 終 了 す る 。 セ ッ シ ョ ン が 終 了 す る 時 、 xdm は X サ ー バ を リ セ ッ ト し て (指 定 に よ っ て は )す べ て の プ ロ セ ス を 再 起 動 す る 。

xdm が XDMCP 経 由 で Indirect の 問 い 合 わ せ を 受 け 取 っ た と き 、 xdm は デ ィ ス プ レ イ の た め に chooser プ ロ セ ス を 起 動 し て XDMCP BroadcastQuery(ま た は 指 定 さ れ た ホ ス ト に 対 す る XDMCP Query)を 実 行 す る 。 そ し て 、 XDMCP に よ っ て デ ィ ス プ レ イ 管 理 が で き る ホ ス ト 一 覧 を 提 供 す る 。 こ の 機 能 は 、 ホ ス ト 一 覧 を 与 え る こ と が で き な い X 端 末 を 使 う 際 に 便 利 で あ る 。

xdm は 選 択 さ れ た ホ ス ト か ら の BroadcastQuery メ ッ セ ー ジ を 無 視 す る よ う に 設 定 で き る 。 こ れ は 、 こ の ホ ス ト を chooser ま た は X 端 末 が 生 成 す る リ ス ト に 出 し た く な い 場 合 に 便 利 で あ る 。

xdm は 最 初 に ユ ー ザ が 触 れ る イ ン タ フ ェ ー ス を 提 供 す る の で 、 簡 単 に 利 用 で き 、 個 別 の サ イ ト の 要 望 に 合 わ せ て 簡 単 に カ ス タ マ イ ズ で き る よ う に な っ て い る 。 xdm は 多 く の オ プ シ ョ ン が あ り 、 そ の ほ と ん ど は 適 切 な デ フ ォ ル ト 値 に な っ て い る 。 こ の マ ニ ュ ア ル の 多 く の セ ク シ ョ ン を 調 べ て 、 変 更 し た い 部 分 を 選 択 す る こ と 。 セ ッ シ ョ ン の ス タ イ ル の 設 定 に つ い て 説 明 し て い る セ ッ シ ョ ン プ ロ グ ラ ム セ ク シ ョ ン に は 特 に 注 意 す る こ と 。

概 要

xdm は 細 か く 設 定 が 変 え ら れ 、 ほ と ん ど の 挙 動 は リ ソ ー ス フ ァ イ ル と シ ェ ル ス ク リ プ ト で 制 御 可 能 で あ る 。 こ れ ら の フ ァ イ ル 名 は 、 xdm-config フ ァ イ ル ま た は −config オ プ シ ョ ン で 指 定 し た フ ァ イ ル か ら リ ソ ー ス と し て 読 み 込 む 。

xdm で デ ィ ス プ レ イ を 管 理 す る に は 2つ の 異 な る 方 法 が あ る 。 ロ ー カ ル マ シ ン で 動 作 す る サ ー バ を Xservers に 指 定 す る 方 法 と 、 リ モ ー ト の X サ ー バ (通 常 は X 端 末 )を Xaccess フ ァ イ ル で 指 定 し て XDMCP(XDM 制 御 プ ロ ト コ ル )を 使 う 方 法 で あ る 。 ユ ー ザ の セ ッ シ ョ ン 外 で xdm が 実 行 す る X ク ラ イ ア ン ト (こ れ は xdm 自 身 の ロ グ イ ン 画 面 を 含 む )の リ ソ ー ス は Xresources フ ァ イ ル で 設 定 す る こ と が で き る 。 デ ィ ス プ レ イ 管 理 を 得 る た め の ホ ス ト 一 覧 を 与 え な い X 端 末 に 対 し て は 、 xdm は 自 発 的 に 動 作 す る ホ ス ト を 集 め 、 ユ ー ザ に 一 覧 を 提 供 す る た め に chooser プ ロ グ ラ ム を 実 行 す る 。 ホ ス ト に 接 続 し て い る X デ ィ ス プ レ イ に 対 し て は 通 常 こ の よ う な 手 順 は 行 わ れ ず 、 ロ ー カ ル ホ ス ト が デ ィ ス プ レ イ 管 理 を 行 う 。

X サ ー バ を リ セ ッ ト し た 後 、 xdmXsetup ス ク リ プ ト を 実 行 し て 、 ユ ー ザ が xlogin ウ ィ ジ ェ ッ ト で 見 る ス ク リ ー ン の 設 定 を 補 助 す る 。

xdm が 提 供 す る xlogin ウ ィ ジ ェ ッ ト は 、 よ く あ る タ イ プ の ロ グ イ ン と パ ス ワ ー ド プ ロ ン プ ト で あ る 。 ユ ー ザ が ロ グ イ ン し た 後 で 、 xdmXstartup ス ク リ プ ト を ル ー ト 権 限 で 実 行 す る 。 そ れ か ら xdmXsession ス ク リ プ ト を ユ ー ザ 権 限 で 実 行 す る 。 こ の シ ス テ ム セ ッ シ ョ ン フ ァ イ ル は 追 加 の 開 始 処 理 を い く つ か 行 い 、 通 常 は ユ ー ザ の ホ ー ム デ ィ レ ク ト リ の .xsession を 実 行 す る 。 Xsession ス ク リ プ ト が 終 了 す る と セ ッ シ ョ ン は 終 了 す る 。 セ ッ シ ョ ン の 最 後 に は 、 終 了 処 理 を 行 う Xreset ス ク リ プ ト が 実 行 さ れ 、 X サ ー バ が リ セ ッ ト さ れ 、 サ イ ク ル の 最 初 に 戻 る 。

xdmXsetup, Xstartup, Xsession, Xreset が 標 準 エ ラ ー 出 力 に 送 っ た エ ラ ー メ ッ セ エ ー ジ は 、 /usr/X11R6/lib/X11/xdm/xdm-errors フ ァ イ ル に 格 納 さ れ る 。 xdm の 実 行 中 に 問 題 が 発 生 し た 場 合 に は 、 こ の フ ァ イ ル を 見 て 、 xdm が 問 題 解 決 の 手 が か り を 示 し て い る か ど う か 調 べ る こ と 。

オ プ シ ョ ン

−config オ プ シ ョ ン 自 身 を 除 く す べ て の オ プ シ ョ ン は 、 リ ソ ー ス と し て 設 定 フ ァ イ ル で も 指 定 で き る 。
−config
configuration_file 設 定 フ ァ イ ル の 名 前 。 こ れ は xdm の 挙 動 を 制 御 す る リ ソ ー ス を 指 定 す る 。 <XRoot>/lib/X11/xdm/xdm-config が デ フ ォ ル ト 値 で あ る 。 設 定 フ ァ イ ル の セ ク シ ョ ン を 参 照 す る こ と 。
−nodaemon

DisplayManager.daemonMode リ ソ ー ス を ’’false’’ に す る こ と と 同 じ で あ る 。 xdm に 一 般 の デ ー モ ン の 挙 動 を さ せ な い 。 デ ー モ ン の 挙 動 と は 、 フ ァ イ ル デ ス ク リ プ タ を 全 て 閉 じ 、 自 分 自 身 を 制 御 端 末 か ら 切 り 放 し 、 さ ら に 起 動 時 に 自 分 自 身 を バ ッ ク グ ラ ウ ン ド で 動 作 さ せ る こ と で あ る 。

−debug debug_level

DisplayManager.debugLevel リ ソ ー ス に 数 値 を 指 定 す る 。 ゼ ロ で な い 数 値 を 指 定 す る と 、 xdm は 多 量 の デ バ ッ グ 情 報 を 端 末 に 表 示 さ せ る 。 こ の オ プ シ ョ ン は ま た 、 DisplayManager.daemonMode リ ソ ー ス を 無 効 に し 、 xdm を 強 制 的 に 同 期 動 作 さ せ る 。 デ バ ッ グ メ ッ セ ー ジ を 解 釈 す る に は 、 xdm の ソ ー ス フ ァ イ ル が 必 要 で あ ろ う 。 出 力 情 報 の 合 理 化 や 標 準 化 を 行 う 予 定 は な い 。

−error error_log_file

DisplayManager.errorLogFile リ ソ ー ス の 値 を 指 定 す る 。 こ の フ ァ イ ル に は xdm が 出 力 し た エ ラ ー や 、 セ ッ シ ョ ン 中 に 実 行 さ れ た 様 々 な ス ク リ プ ト や プ ロ グ ラ ム が 標 準 エ ラ ー 出 力 に 書 き 出 し た エ ラ ー が 記 録 さ れ て い る 。

−resources resource_file

DisplayManager*resources リ ソ ー ス に フ ァ イ ル 名 を 設 定 す る 。 こ の フ ァ イ ル は xrdb を 使 っ て ロ ー ド さ れ 、 認 証 ウ ィ ジ ェ ッ ト 用 の 設 定 パ ラ メ ー タ を 指 定 に 使 わ れ る 。

−server server_entry

DisplayManager.servers リ ソ ー ス に 値 を 設 定 す る 。 こ の リ ソ ー ス の 説 明 は ロ ー カ ル サ ー バ 指 定 セ ク シ ョ ン を 参 照 す る こ と 。

−udpPort port_number

DisplayManager.requestPort リ ソ ー ス に 値 を 設 定 す る 。 こ の リ ソ ー ス は XDMCP リ ク エ ス ト に 使 う xdm の ポ ー ト 番 号 を 設 定 す る 。 XDMCP は よ く 知 ら れ た 登 録 済 み の UDP ポ ー ト 177 番 を 使 う の で 、 デ バ ッ グ 目 的 以 外 で は こ の リ ソ ー ス を 変 更 す べ き で な い 。 こ の リ ソ ー ス に 0 を 設 定 す る と 、 xdm は XDMCP リ ク エ ス ト も Chooser リ ク エ ス ト も 監 視 し な い 。

−session session_program

DisplayManager*session リ ソ ー ス に 値 を 設 定 す る 。 ユ ー ザ が ロ グ イ ン し た 後 に セ ッ シ ョ ン と し て 動 作 さ せ た い プ ロ グ ラ ム を 指 定 す る 。

−xrm resource_specification ほ と ん ど の X ツ ー ル キ ッ ト ア プ リ ケ ー シ ョ ン の よ う に 、 任 意 の リ ソ ー ス を 指 定 で き る 。

リ ソ ー ス

xdm の 動 作 は 設 定 フ ァ イ ル を 使 っ て 制 御 す る こ と は い ろ い ろ な 段 階 で 可 能 で あ る 。 こ の 設 定 フ ァ イ ル は X リ ソ ー ス フ ォ ー マ ッ ト で 書 か れ る 。 リ ソ ー ス に は 全 て の デ ィ ス プ レ イ 上 で の xdm の 挙 動 を 変 え る も の も あ る し 、 1つ の デ ィ ス プ レ イ だ け の 動 作 を 変 え る も の も あ る 。 特 定 の デ ィ ス プ レ イ の 動 作 に 限 定 す る に は 、 ’’DisplayManager’’ と 最 後 の リ ソ ー ス 名 の 間 に デ ィ ス プ レ イ 名 を 挿 入 す る こ と 。 ロ ー カ ル デ ィ ス プ レ イ の 場 合 は 、 リ ソ ー ス 名 と ク ラ ス は Xservers フ ァ イ ル か ら 読 み 込 ま れ る 。 リ モ ー ト デ ィ ス プ レ イ の 場 合 は 、 リ ソ ー ス 名 は デ ィ ス プ レ イ の ア ド レ ス を 解 決 し た も の で あ る 。 removeDomain リ ソ ー ス を 参 照 す る こ と 。 名 前 は 完 全 に 一 致 し な け れ ば な ら な い 。 xdm は 指 定 さ れ た デ ィ ス プ レ イ を 示 す ネ ッ ト ワ ー ク 上 の 別 名 が 全 て わ か る わ け で は な い 。 名 前 の 解 決 に 失 敗 し た 場 合 は 、 名 前 で は な く ア ド レ ス を 使 用 す る こ と 。 リ ソ ー ス ク ラ ス は デ ィ ス プ レ イ に よ り XDMCP Manage リ ク エ ス ト で 送 ら れ る 。 リ ソ ー ス マ ネ ー ジ ャ は リ ソ ー ス 名 と そ の 値 を 区 切 る た め に コ ロ ン を 使 い 、 リ ソ ー ス 名 の 部 分 を 区 切 る た め に ド ッ ト を 使 う の で 、 xdm が リ ソ ー ス 名 を 生 成 す る と き に は ド ッ ト と コ ロ ン は 下 線 (ア ン ダ ス コ ア )に 置 き 換 え ら れ る 。 例 え ば 、 起 動 シ ェ ル ス ク リ プ ト が ’’expo.x.org:0’’ を デ ィ ス プ レ イ に 定 義 し て い る と き は DisplayManager.expo_x_org_0.startup が リ ソ ー ス 名 と な る 。
DisplayManager.servers
こ の リ ソ ー ス は 、 全 て の サ ー バ エ ン ト リ の フ ァ イ ル 名 を 行 ご と に 1つ ず つ 指 定 す る か (値 が / か ら 始 ま る 場 合 )、 1つ の サ ー バ エ ン ト リ を 指 定 す る 。 詳 細 は ロ ー カ ル サ ー バ 指 定 の セ ク シ ョ ン を 参 照 す る こ と 。
DisplayManager.requestPort
こ の オ プ シ ョ ン は xdm が XDMCP リ ク エ ス ト を 待 つ UDP ポ ー ト 番 号 を 指 定 す る 。 シ ス テ ム を デ バ ッ グ す る 必 要 が な け れ ば デ フ ォ ル ト 値 の 177 の ま ま に し て お く こ と 。
DisplayManager.errorLogFile
エ ラ ー 出 力 は 通 常 シ ス テ ム コ ン ソ ー ル に 出 力 さ れ る 。 エ ラ ー 出 力 を リ ダ イ レ ク ト す る に は こ の リ ソ ー ス に フ ァ イ ル 名 を 設 定 す る こ と 。 syslog を サ ポ ー ト し て い る シ ス テ ム に 対 し て は 、 こ れ ら の メ ッ セ ー ジ を syslog に 送 る 方 法 が 開 発 さ れ る べ き で あ る 。 し か し 、 色 々 な イ ン タ フ ェ ー ス を 持 つ よ う に す る と 、 シ ス テ ム に 依 存 し な い 実 装 が で き な く な っ て し ま う 。 こ の フ ァ イ ル は Xsetup, Xstartup, Xsession, Xreset フ ァ イ ル に よ る 標 準 エ ラ ー 出 力 へ の 出 力 も 含 ま れ る 。 し た が っ て 、 こ の フ ァ イ ル に は こ れ ら の ス ク リ プ ト が 起 こ し た 問 題 も 記 述 さ れ て い る 。
DisplayManager.debugLevel
こ の リ ソ ー ス の 整 数 値 が ゼ ロ よ り 大 き い 場 合 、 出 力 す る デ バ ッ グ 情 報 の 範 囲 が 大 き く な る 。 こ の オ プ シ ョ ン は デ ー モ ン モ ー ド も 無 効 に す る 。 デ ー モ ン モ ー ド で は 、 bit-bucket に 情 報 が リ ダ イ レ ク ト さ れ 、 ル ー ト 以 外 の ユ ー ザ も xdm を 実 行 で き る よ う に な る が 、 あ ま り 役 に は 立 た な い 。 【 訳 注 : bit-bucket - /dev/null で し ょ う 】
DisplayManager.daemonMode
通 常 、 xdm は ど の 端 末 と も 関 係 が な い デ ー モ ン プ ロ セ ス と し て 動 作 し よ う と す る 。 こ れ は fork を 行 っ て 親 の 方 の プ ロ セ ス を 終 了 さ せ 、 そ し て フ ァ イ ル デ ス ク リ プ タ を 閉 じ 、 制 御 し て い る 端 末 を 解 放 す る こ と に よ っ て 実 現 さ れ る 。 環 境 に よ っ て は こ の 動 作 は 必 要 で は な い (特 に デ バ ッ グ す る と き )。 こ の リ ソ ー ス を ’’false’’ に 設 定 す る と こ の 機 能 は 無 効 と な る 。
DisplayManager.pidFile
指 定 さ れ た フ ァ イ ル 名 が 生 成 さ れ 、 そ の 内 容 が メ イ ン の xdm の プ ロ セ ス ID の ASCII 表 現 と な る 。

xdm は こ の フ ァ イ ル の ロ ッ ク を 行 い 、 重 複 し て デ ー モ ン が 同 じ マ シ ン で 起 動 し て 混 乱 が 起 き な い よ う に す る 。

DisplayManager.lockPidFile こ の リ ソ ー ス は 、 複 数 の デ ィ ス プ レ イ マ ネ ー ジ ャ が 暴 走 し な い よ う に xdm が フ ァ イ ル の ロ ッ キ ン グ を 行 う か ど う か 制 御 す る 。 System V で は 、 こ の リ ソ ー ス は lockf ラ イ ブ ラ リ コ ー ル を 使 い 、 BSD で は flock を 使 う 。
DisplayManager.authDir
こ れ は xdm が セ ッ シ ョ ン を 初 期 化 す る 時 の 認 証 フ ァ イ ル を 格 納 す る デ ィ レ ク ト リ を 指 す 。 デ フ ォ ル ト 値 は <XRoot>/lib/X11/xdm で あ る 。 特 定 の デ ィ ス プ レ イ に 対 し て は DisplayManager.DISPLAY.authFile で 上 書 き す る こ と が で き る 。
DisplayManager.autoRescan
こ の 真 偽 値 は xdm が 終 わ っ て フ ァ イ ル が 変 更 さ れ た 後 に 、 構 成 情 報 、 サ ー バ 、 ア ク セ ス 制 御 と 認 証 キ ー フ ァ イ ル を 再 読 み 込 み す る か ど う か 制 御 す る 。 デ フ ォ ル ト 値 は ’’true’’ で あ る 。 メ イ ン プ ロ セ ス に SIGHUP を 送 る こ と に よ っ て 、 xdm に こ れ ら の フ ァ イ ル を 再 度 読 み 込 ま せ る こ と が で き る 。
DisplayManager.removeDomainname

XDMCP ク ラ イ ア ン ト 用 の デ ィ ス プ レ イ 名 を 計 算 す る と き 、 そ の 名 前 解 決 で は 完 全 に 選 択 さ れ た ホ ス ト 名 が 生 成 さ れ る 。 こ れ は 時 々 紛 ら わ し い こ と が あ る の で 、 こ の 変 数 が セ ッ ト さ れ た 場 合 、 ロ ー カ ル ホ ス ト の ド メ イ ン 名 と 同 じ な ら ば xdm は ホ ス ト 名 か ら ド メ イ ン 名 部 分 を 取 り 除 く 。 デ フ ォ ル ト で は こ の 値 は ’’true’’ で あ る 。

DisplayManager.keyFile

XDM-AUTHENTICATION-1 型 の XDMCP 認 証 は プ ラ イ ベ ー ト キ ー の xdm と 端 末 に お け る 共 有 を 必 要 と す る 。 こ の リ ソ ー ス は こ の 値 を 持 つ フ ァ イ ル を 指 定 す る 。 こ の フ ァ イ ル の 各 項 目 は 、 デ ィ ス プ レ イ 名 と 共 有 さ れ る キ ー か ら な る 。 デ フ ォ ル ト で は 、 xdm は XDM-AUTHENTICATION-1 を サ ポ ー ト し て い な い 。 そ の 理 由 は 、 こ の 認 証 は ア メ リ カ 合 衆 国 の 輸 出 制 限 の た め 一 般 に 配 布 で き な い DES を 必 要 と す る た め で あ る 。

DisplayManager.accessFile 許 可 さ れ て い な い XDMCP を 防 ぎ 、 XDMCP の IndirectQuery リ ク エ ス ト を 転 送 で き る よ う に す る た め 、 こ の フ ァ イ ル は 、 こ の マ シ ン へ の 直 接 ア ク セ ス が 許 さ れ て い る ホ ス ト 名 の デ ー タ ベ ー ス ま た は 問 い 合 わ せ が 転 送 さ れ る べ き ホ ス ト の リ ス ト を 持 っ て い る 。 こ の フ ァ イ ル の フ ォ ー マ ッ ト は XDMCP ア ク セ ス 制 御 の セ ク シ ョ ン で 述 べ る 。
DisplayManager.exportList

Xsetup, Xstartup, Xsession, and Xreset プ ロ グ ラ ム に 渡 す 追 加 の 環 境 変 数 の リ ス ト 。 リ ス ト は 空 白 で 区 切 ら れ る 。

DisplayManager.randomFile 認 証 キ ー の 種 を 生 成 す る チ ェ ッ ク サ ム の フ ァ イ ル 。 こ の フ ァ イ ル は 頻 繁 に 内 容 が 変 わ る も の で な け れ ば な ら な い 。 デ フ ォ ル ト 値 は /dev/mem で あ る 。
DisplayManager.greeterLib
動 的 に ロ ー ド 可 能 な グ リ ー テ ィ ン グ ラ イ ブ ラ リ を サ ポ ー ト し て い る シ ス テ ム で 、 ラ イ ブ ラ リ の 名 前 を 指 定 す る 。 デ フ ォ ル ト 値 は <XRoot>/lib/X11/xdm/libXdmGreet.so で あ る 。
DisplayManager.choiceTimeout
ユ ー ザ が chooser か ら ホ ス ト 名 を 選 択 し た 後 に 、 デ ィ ス プ レ イ の 応 答 を 待 つ 秒 数 。 デ ィ ス プ レ イ が こ の 間 に XDMCP の IndirectQuery を 送 る と 、 こ の リ ク エ ス ト は 選 択 さ れ た ホ ス ト に 送 ら れ る 。 そ う で な い 場 合 に は 、 こ れ は 新 し い セ ッ シ ョ ン か ら 送 ら れ た も の と し て 処 理 さ れ 、 再 び chooser が 表 示 さ れ る 。 デ フ ォ ル ト 値 は 15秒 で あ る 。
DisplayManager.sourceAddress
マ ル チ ホ ー ム の ホ ス ト で の 接 続 を 受 け る と き に 、 ホ ス ト 名 を 使 わ ず に 数 値 の IP ア ド レ ス を 使 用 す る 。 こ れ は 接 続 時 に ダ ウ ン す る よ う な 不 正 な イ ン タ ー フ ェ ー ス で の 接 続 の 試 み を 回 避 す る 。
DisplayManager.willing
こ の リ ソ ー ス は 、 XDMCP の BroadcastQuery を 受 信 し た 時 に root 権 限 で 実 行 さ れ る プ ロ グ ラ ム を 指 定 し 、 こ の ホ ス ト は XDMCP の デ ィ ス プ レ イ 管 理 を 提 供 す る よ う に 設 定 さ れ る 。 こ の プ ロ グ ラ ム の 出 力 は chooser の ウ ィ ン ド ウ に 表 示 さ れ る 。 プ ロ グ ラ ム が 指 定 さ れ て い な い 場 合 は 、 文 字 列 Willing to manage が 送 ら れ る 。
DisplayManager.
DISPLAY.resources こ の リ ソ ー ス は xrdb が デ ィ ス プ レ イ の ス ク リ ー ン 0 の ル ー ト ウ ィ ン ド ウ 上 の リ ソ ー ス デ ー タ ベ ー ス と し て 読 み 込 む フ ァ イ ル の 名 前 を 指 定 す る 。 Xsetup プ ロ グ ラ ム 、 Login ウ ィ ジ ェ ッ ト と chooser は こ の フ ァ イ ル の リ ソ ー ス セ ッ ト を 使 用 す る 。 こ の リ ソ ー ス デ ー タ ベ ー ス は 認 証 手 続 き の 直 前 に 読 み 込 ま れ る の で 、 ロ グ イ ン ウ ィ ン ド ウ の 外 観 を 制 御 す る こ と が で き る 。 こ の フ ァ イ ル に 記 述 す る こ と が 適 切 で あ る 様 々 な リ ソ ー ス に つ い て 説 明 し て い る 認 証 ウ ィ ジ ェ ッ ト セ ク シ ョ ン を 参 照 し て す る こ と 。 こ の リ ソ ー ス に は デ フ ォ ル ト 値 は な い が 、 慣 習 的 に <XRoot>/lib/X11/xdm/Xresources と い う 名 前 が 使 わ れ て い る 。
DisplayManager.
DISPLAY.chooser 特 別 な ホ ス ト 名 で あ る CHOOSER に リ ダ イ レ ク ト さ れ る 間 接 問 い 合 わ せ (Indirect query)に 対 す る ホ ス ト メ ニ ュ ー を 与 え る た め に 実 行 す る プ ロ グ ラ ム を 指 定 す る 。 <XRoot>/lib/X11/xdm/chooser が デ フ ォ ル ト 値 で あ る 。 XDMCP ア ク セ ス 制 御Chooser の セ ク シ ョ ン を 参 照 す る こ と 。
DisplayManager.
DISPLAY.xrdb リ ソ ー ス を 読 み 込 む た め に 使 う プ ロ グ ラ ム を 指 定 す る 。 デ フ ォ ル ト で は xdm<XRoot>/bin/xrdb を 使 用 す る 。
DisplayManager.
DISPLAY.cpp

xrdb が 使 用 す る C プ リ プ ロ セ ッ サ の 名 前 を 指 定 す る 。

DisplayManager.DISPLAY.setup

Login ウ ィ ン ド ウ を 出 す 前 に (root と し て ) 実 行 す る プ ロ グ ラ ム を 指 定 す る 。 こ れ を 使 っ て 、 Login ウ ィ ン ド ウ の 周 り の ス ク リ ー ン の 外 観 を 変 え る こ と や 、 他 の ウ ィ ン ド ウ を 出 す (例 え ば 、 こ こ で xconsole を 実 行 で き る )こ と が で き る 。 デ フ ォ ル ト で は 、 プ ロ グ ラ ム は 実 行 さ れ な い 。 こ こ で 慣 習 的 に 使 わ れ て い る 名 前 は Xsetup で あ る 。 プ ロ グ ラ ム の セ ッ ト ア ッ プ の セ ク シ ョ ン を 参 照 す る こ と 。

DisplayManager.DISPLAY.startup こ れ は 認 証 手 続 き が 成 功 し た 後 に (root と し て )実 行 す る プ ロ グ ラ ム を 指 定 す る 。 デ フ ォ ル ト で は 、 プ ロ グ ラ ム は 実 行 さ れ な い 。 こ こ で 慣 習 的 に 使 わ れ て い る 名 前 は Xstartup で あ る 。 プ ロ グ ラ ム の 起 動 の セ ク シ ョ ン を 参 照 す る こ と 。
DisplayManager.
DISPLAY.session こ れ は セ ッ シ ョ ン が (root 以 外 の 権 限 で )実 行 す る プ ロ グ ラ ム を 指 定 す る 。 デ フ ォ ル ト で は 、 <XRoot>/bin/xterm が 実 行 さ れ る 。 慣 習 的 に 使 わ れ る 名 前 は Xsession で あ る 。 セ ッ シ ョ ン プ ロ グ ラ ム の セ ク シ ョ ン を 参 照 す る こ と 。
DisplayManager.
DISPLAY.reset こ れ は セ ッ シ ョ ン が 終 了 し た 後 に (root と し て )実 行 す る プ ロ グ ラ ム を 指 定 す る 。 デ フ ォ ル ト で は 、 プ ロ グ ラ ム は 実 行 さ れ な い 。 慣 習 的 に 使 わ れ る 名 前 は Xreset で あ る 。 プ ロ グ ラ ム の リ セ ッ ト の セ ク シ ョ ン を 参 照 す る こ と 。
DisplayManager.
DISPLAY.openDelay
DisplayManager.
DISPLAY.openRepeat
DisplayManager.
DISPLAY.openTimeout
DisplayManager.
DISPLAY.startAttempts こ れ ら の 数 値 リ ソ ー ス は 非 妥 協 的 な サ ー バ を オ ー プ ン す る と き の xdm の 挙 動 を 制 御 す る 。 openDelay は 継 続 的 な 試 行 の 間 の 間 隔 (秒 単 位 )、 openRepeat は 試 行 す る 回 数 、 openTimeout は 実 際 に オ ー プ ン を 試 み る 時 の 待 ち 時 間 の 長 さ (す な わ ち 、 connect(2) シ ス テ ム コ ー ル に 使 う 最 大 の 時 間 )、 startAttempts は こ の サ ー バ 上 に 対 し て 行 う 全 て の 過 程 の 回 数 で あ る 。 openRepeat 回 の 試 行 を 行 っ た 後 、 ま た は 特 定 の 試 行 に お い て openTimeout 秒 経 過 し た 場 合 に は 、 xdm は 終 了 し て サ ー バ を 再 起 動 し 、 再 び 接 続 を 試 み る 。 こ の 過 程 は startAttempts 回 繰 り 返 さ れ 、 こ の 場 合 に は デ ィ ス プ レ イ が 停 止 し て い て 使 用 不 能 で あ る と さ れ る 。 こ の 挙 動 は 恣 意 的 に 見 え る が 、 経 験 的 に 決 め ら れ た も の で あ り 、 ほ と ん ど の シ ス テ ム で う ま く 動 作 す る 。 デ フ ォ ル ト 値 は openDelay が 5, openRepeat が 5, openTimeout が 30, startAttempts が 4 で あ る 。
DisplayManager.
DISPLAY.pingInterval
DisplayManager.
DISPLAY.pingTimeout リ モ ー ト の デ ィ ス プ レ イ が 見 え な く な っ た 時 を 知 る た め 、 xdm は 時 折 、 そ れ ら に X 接 続 と XSync コ ー ル を 使 っ て ping を か け る 。 pingInterval は (分 単 位 で ) ping を 行 う 時 間 間 隔 を 指 定 し 、 pingTimeout は リ ク エ ス ト に 対 す る 端 末 の 応 答 を 待 つ 最 大 時 間 (分 単 位 で )を 指 定 す る 。 端 末 か ら の 応 答 が な い 場 合 、 セ ッ シ ョ ン は 壊 れ た と 見 な さ れ て 終 了 す る 。 デ フ ォ ル ト で は ど ち ら の 値 も 5 分 で あ る 。 管 理 し て い る ホ ス ト か ら 隔 離 さ れ る こ と が あ る X 端 末 を 頻 繁 に 使 用 す る 場 合 に は 、 こ の 値 を 増 や す と よ い だ ろ う 。 唯 一 の 問 題 点 は 、 端 末 が 突 発 的 に 使 用 不 能 に な っ た 後 で も セ ッ シ ョ ン が 存 在 し 続 け る こ と で あ る 。 xdm は ロ ー カ ル デ ィ ス プ レ イ に は ping を か け な い 。 こ れ は 問 題 な い よ う で あ る が 、 NFS サ ー ビ ス に よ る サ ー バ が ハ ン グ ア ッ プ し 、 ping に 応 答 し な く な る 結 果 と し て ワ ー ク ス テ ー シ ョ ン の セ ッ シ ョ ン が 終 了 し て し ま っ た 場 合 に は 好 ま し く な い 。
DisplayManager.
DISPLAY.terminateServer こ の 真 偽 値 の リ ソ ー ス は セ ッ シ ョ ン が (リ セ ッ ト の 代 わ り に )終 了 し た と き に X サ ー バ が 終 了 す る か ど う か を 指 定 す る 。 こ の オ プ シ ョ ン は サ ー バ が 稼 働 時 間 の 際 限 が な い 傾 向 が あ る と き に 使 用 し 、 サ ー バ が 動 作 す る 時 間 を 制 限 す る こ と が で き る 。 デ フ ォ ル ト 値 は ’’false’’ で あ る 。
DisplayManager.
DISPLAY.userPath

xdm は セ ッ シ ョ ン 用 の PATH 環 境 変 数 に こ の 値 を 設 定 す る 。 こ れ は デ ィ レ ク ト リ を コ ロ ン で 区 切 っ た リ ス ト で あ る 。 詳 し い 説 明 に つ い て は sh(1) を 参 照 す る こ と 。 ’’:/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb’’ が 通 常 の 設 定 で あ る 。 デ フ ォ ル ト 値 は X の 構 築 時 に X シ ス テ ム 設 定 フ ァ イ ル 内 の DefaultUserPath 項 目 で 指 定 す る 。

DisplayManager.DISPLAY.systemPath

xdm は 、 起 動 ス ク リ プ ト と リ セ ッ ト ス ク リ プ ト で 使 う PATH 環 境 変 数 に こ の リ ソ ー ス の 値 を セ ッ ト す る 。 こ の リ ソ ー ス の デ フ ォ ル ト 値 は X の 構 築 時 に シ ス テ ム 設 定 フ ァ イ ル の DefaultSystemPath 項 目 で 指 定 す る 。 普 通 は ’’/etc:/bin:/usr/bin:/usr/X11R6/bin:/usr/ucb’’ が 使 わ れ る 。 こ の 項 目 か ら ’’.’’ を 取 り 除 い て お く (訳 注 : パ ス に カ レ ン ト デ ィ レ ク ト リ を 含 め な い )点 に は 注 意 す る こ と 。 こ れ は root の 仕 事 の 良 い 練 習 で あ る 。 こ れ は 一 般 的 な ト ロ イ の 木 馬 に よ る シ ス テ ム 侵 入 計 画 を 防 ぐ こ と が で き る 。

DisplayManager.DISPLAY.systemShell

xdm は 、 起 動 ス ク リ プ ト と リ セ ッ ト ス ク リ プ ト で 使 う SHELL 環 境 変 数 に こ の リ ソ ー ス の 値 を セ ッ ト す る 。 デ フ ォ ル ト 値 は /bin/sh で あ る 。

DisplayManager.DISPLAY.failsafeClient デ フ ォ ル ト の セ ッ シ ョ ン の 実 行 に 失 敗 し た と き 、 xdm は こ の プ ロ グ ラ ム に 戻 ろ う と す る 。 こ の プ ロ グ ラ ム は 引 き 数 な し で 実 行 す る が 、 セ ッ シ ョ ン を 動 作 さ せ る の と 同 じ 環 境 変 数 を 使 っ て 実 行 さ れ る ( Session Program の セ ク シ ョ ン を 参 照 す る こ と )。 デ フ ォ ル ト で は <XRoot>/bin/xterm が 使 わ れ る 。
DisplayManager.
DISPLAY.grabServer
DisplayManager.
DISPLAY.grabTimeout セ キ ュ リ テ ィ を 向 上 さ せ る た め に 、 xdm は ロ グ イ ン 名 と パ ス ワ ー ド を 入 力 さ せ る と き に サ ー バ と キ ー ボ ー ド を 占 有 す る 。 grabServer リ ソ ー ス は 、 ロ グ イ ン 名 と パ ス ワ ー ド の 読 み 込 み の 間 に サ ー バ を 保 持 す る か ど う か を 指 定 す る 。 ’’false’’ の 場 合 に は キ ー ボ ー ド の 占 有 が 成 功 し た 後 に サ ー バ の 占 有 を 離 し 、 ’’true’’ の 場 合 に は セ ッ シ ョ ン が 始 ま る 直 前 ま で サ ー バ は 占 有 さ れ る 。 デ フ ォ ル ト 値 は ’’false’’ で あ る 。 grabTimeout リ ソ ー ス は xdm の 占 有 が 成 功 す る ま で 待 つ 最 長 の 間 を 指 定 す る 。 他 の ク ラ イ ア ン ト が サ ー バ を 占 有 し て い る 場 合 や ネ ッ ト ワ ー ク の 遅 延 が と て も 大 き い に は 占 有 が 失 敗 す る こ と が あ る 。 こ の リ ソ ー ス の デ フ ォ ル ト 値 は 3 秒 で あ る 。 ユ ー ザ が デ ィ ス プ レ イ 上 の よ く 似 た ウ ィ ン ド ウ に 騙 さ れ る こ と が あ る の で 、 こ の 値 を 高 く す る と き に は 注 意 す る こ と 。 占 有 に 失 敗 す る と xdm は サ ー バ と セ ッ シ ョ ン の プ ロ セ ス を 止 め 、 (可 能 な ら ば )再 ス タ ー ト さ せ る 。
DisplayManager.
DISPLAY.authorize
DisplayManager.
DISPLAY.authName

authorize は 、 ロ ー カ ル サ ー バ へ の 接 続 に 対 し て xdm が 認 証 を 生 成 し て 使 用 す る か ど う か を 制 御 す る 真 偽 値 の リ ソ ー ス で あ る 。 認 証 を 用 い る 場 合 、 authName は 使 用 す る 認 証 機 構 の リ ス ト (区 切 り は 空 白 文 字 )で あ る 。 XDMCP 接 続 は サ ポ ー ト さ れ て い る 認 証 機 構 を 動 的 に 指 定 す る の で 、 こ の 場 合 authName は 無 視 さ れ る 。 authorize が デ ィ ス プ レ イ 用 に 設 定 さ れ て い る が 認 証 が で き な い 場 合 、 ユ ー ザ は 通 常 と は 異 な る メ ッ セ ー ジ が ロ グ イ ン ウ ィ ジ ェ ッ ト で 表 示 さ れ る 。 デ フ ォ ル ト で は 、 authorize は ’’true’’ で あ る 。 authName は ’’MIT-MAGIC-COOKIE-1’’ ま た は 、 XDM-AUTHORIZATION-1 が 利 用 可 能 で あ れ ば 、 ’’XDM-AUTHORIZATION-1 MIT-MAGIC-COOKIE-1’’ で あ る 。

DisplayManager.DISPLAY.authFile こ の フ ァ イ ル は 、 サ ー バ の −auth コ マ ン ド 行 オ プ シ ョ ン を 使 っ て xdm か ら サ ー バ へ 認 証 デ ー タ を 伝 え る た め に 使 わ れ る 。 こ の フ ァ イ ル は 、 簡 単 に 削 除 さ れ て サ ー バ の セ キ ュ リ テ ィ 機 構 が 無 効 化 さ れ て し ま わ な い よ う に 、 世 界 中 か ら 書 き 込 む こ と は で き な い デ ィ レ ク ト リ に 置 く べ き で あ る 。 指 定 の な い 場 合 は 、 フ ァ イ ル 名 は DisplayManager.authDir と デ ィ ス プ レ イ の 名 か ら 生 成 さ れ る 。
DisplayManager.
DISPLAY.authComplain こ れ に ’’false’’ を 設 定 す る と 、 unsecureGreeting が ロ グ イ ン ウ ィ ン ド ウ で 使 わ れ な く な る 。 認 証 ウ ィ ジ ェ ッ ト の セ ク シ ョ ン を 参 照 す る こ と 。 デ フ ォ ル ト 値 は ’’true’’ で あ る 。
DisplayManager.
DISPLAY.resetSignal

xdm が サ ー バ を リ セ ッ ト す る た め に 送 る シ グ ナ ル の 番 号 で あ る 。 サ ー バ の 制 御 の セ ク シ ョ ン を 参 照 す る こ と 。 デ フ ォ ル ト 値 は 1(SIGHUP)で あ る 。

DisplayManager.DISPLAY.termSignal

xdm が サ ー バ を 終 了 す る た め に 送 る シ グ ナ ル の 番 号 で あ る 。 サ ー バ の 制 御 の セ ク シ ョ ン を 参 照 す る こ と 。 デ フ ォ ル ト 値 は 15(SIGTERM)で あ る 。

DisplayManager.DISPLAY.resetForAuth サ ン プ ル サ ー バ に お け る 元 々 の 認 証 の 実 装 で は 、 サ ー バ の リ セ ッ ト 時 に 最 初 の 接 続 を チ ェ ッ ク す る 代 わ り に 認 証 フ ァ イ ル を 再 読 み 込 み を 行 う 。 xdm は デ ィ ス プ レ イ に 接 続 す る 直 前 に 認 証 情 報 を 生 成 す る の で 、 古 い サ ー バ は 最 新 の 認 証 情 報 を 取 得 す る こ と は で き な い 。 こ の リ ソ ー ス を 設 定 す る と 、 xdm は フ ァ イ ル を 設 定 し た 後 に サ ー バ に SIGHUP を 送 る 。 こ れ に よ り 追 加 の サ ー バ は リ セ ッ ト さ れ 、 こ の 際 に 新 し い 認 証 情 報 が 読 み 込 ま れ る 。 デ フ ォ ル ト 値 は ’’false’’ で あ り 、 こ れ は 全 て の MIT サ ー バ で 動 作 す る 。
DisplayManager.
DISPLAY.userAuthDir

xdm は 通 常 の ユ ー ザ 認 証 フ ァ イ ル ($HOME/.Xauthority)に 書 き 込 み を 行 え な い と き 、 こ の デ ィ レ ク ト リ 内 に 名 前 が 重 複 し な い フ ァ イ ル を 作 成 し 、 XAUTHORITY 環 境 変 数 が 作 成 し た フ ァ イ ル を 指 す よ う に 設 定 す る 。 デ フ ォ ル ト で は /tmp が 使 わ れ る 。

設 定 フ ァ イ ル

ま ず xdm の 設 定 フ ァ イ ル の 設 定 を 行 う 。 全 て の 関 連 フ ァ イ ル を 置 く デ ィ レ ク ト リ (通 常 は <XRoot>/lib/X11/xdm, こ こ で <XRoot> は X11 を イ ン ス ト ー ル し た デ ィ レ ク ト リ の ル ー ト を 指 す )を 作 成 す る 。 次 の 例 で は <XRoot> の 値 と し て /usr/X11R6 を 用 い る 。 以 下 は xdm-config と い う 名 前 の 使 い や す い 設 定 フ ァ イ ル で あ る :

DisplayManager.servers:

/usr/X11R6/lib/X11/xdm/Xservers

DisplayManager.errorLogFile:

/usr/X11R6/lib/X11/xdm/xdm-errors

DisplayManager*resources:

/usr/X11R6/lib/X11/xdm/Xresources

DisplayManager*startup:

/usr/X11R6/lib/X11/xdm/Xstartup

DisplayManager*session:

/usr/X11R6/lib/X11/xdm/Xsession

DisplayManager.pidFile:

/usr/X11R6/lib/X11/xdm/xdm-pid

DisplayManager._0.authorize:

true

DisplayManager*authorize:

false こ の フ ァ イ ル は 普 通 、 他 の フ ァ イ ル を 参 照 し て い る 点 に 注 意 す る こ と 。 ま た 、 要 素 を 区 切 る ’’*’’ を 使 っ て 指 定 さ れ る リ ソ ー ス も あ る 点 に も 注 意 す る こ と 。 こ れ ら の リ ソ ー ス は 、 デ ィ ス プ レ イ 名 を ’’*’’ で 置 き 換 え る こ と に よ っ て 異 な る デ ィ ス プ レ イ に 対 し て は 重 な ら な い よ う に す る こ と が で き る が 、 通 常 は あ ま り 役 に 立 た な い 。 詳 し い 議 論 に つ い て は 、 リ ソ ー ス セ ク シ ョ ン を 参 照 す る こ と 。

XDMCP の ア ク セ ス 制 御

DisplayManager.accessFile に よ っ て 指 定 し た デ ー タ ベ ー ス フ ァ イ ル は 、 XDMCP サ ー ビ ス を 要 求 す る デ ィ ス プ レ イ か ら の ア ク セ ス を xdm が 制 御 を す る た め に 使 う 情 報 を 与 え る 。 こ の フ ァ イ ル は 3 種 類 の 項 目 が 含 ま れ る : Direct と Broadcast の 問 い 合 わ せ に 応 答 す る 制 御 項 目 、 Indirect の 問 い 合 わ せ に 応 答 す る 制 御 項 目 、 マ ク ロ 定 義 で あ る 。

Direct 項 目 の 書 式 は 単 純 で あ り 、 デ ィ ス プ レ イ デ バ イ ス の ホ ス ト 名 と 比 較 さ れ る ホ ス ト 名 ま た は パ タ ー ン で あ る 。 パ タ ー ン は 1つ 以 上 の メ タ 文 字 (’*’ は 0 個 以 上 の 任 意 の 文 字 に 一 致 し 、 ’?’ は 任 意 の 一 文 字 に 一 致 す る )を 含 む こ と に よ っ て ホ ス ト 名 と は 区 別 さ れ る 。 項 目 が ホ ス ト 名 の 場 合 は 、 全 て の 比 較 は ネ ッ ト ワ ー ク ア ド レ ス を 使 っ て 行 わ れ る の で 、 正 し い ネ ッ ト ワ ー ク ア ド レ ス に 変 換 さ れ る 任 意 の 名 前 を 使 う こ と が で き る 。 項 目 が パ タ ー ン の 場 合 は 、 カ ノ ニ カ ル な ホ ス ト 名 だ け が 比 較 に 使 わ れ る の で 、 エ イ リ ア ス に マ ッ チ さ せ よ う と し な い よ う に 注 意 す る こ と 。 ホ ス ト 名 ま た は パ タ ー ン の 前 に ’!’ 文 字 を つ け る と 、 そ の 項 目 に マ ッ チ す る ホ ス ト が 除 外 さ れ る 。 ホ ス ト 名 も し く は パ タ ー ン の Direct 問 い 合 わ せ に だ け に 応 答 さ せ る に は 、 オ プ シ ョ ン の ’’NOBROADCAST’’ キ ー ワ ー ド を 後 に 加 え る こ と 。 こ れ を 使 っ て 、 xdm サ ー バ が Broadcast の 問 い 合 わ せ に 基 づ く メ ニ ュ ー に 現 わ れ な い よ う に す る こ と が で き る 。

Indirect 項 目 も ホ ス ト 名 も し く は パ タ ー ン を 含 む が 、 こ の 項 目 の 場 合 は そ の 後 に 間 接 的 な 問 い 合 わ せ を 送 る ホ ス ト 名 ま た は マ ク ロ の リ ス ト が 続 け ら れ る 。 マ ク ロ 定 義 は 、 マ ク ロ 名 と ホ ス ト 名 の リ ス ト と マ ク ロ を 展 開 す る そ の 他 の マ ク ロ を 含 む 。 マ ク ロ と ホ ス ト 名 を 区 別 す る た め 、 マ ク ロ 名 は ’%’ 文 字 で 始 ま る 。 マ ク ロ は ネ ス ト さ せ る こ と が で き る 。

Indirect 項 目 で は 、 接 続 で き る ホ ス ト の メ ニ ュ ー を 出 す た め に xdmchooser を 実 行 さ せ る よ う に 指 定 す る こ と も で き る 。 Chooser の セ ク シ ョ ン を 参 照 す る こ と 。 特 定 の デ ィ ス プ レ イ ホ ス ト へ の ア ク セ ス を 調 査 す る と き は 、 各 項 目 は 順 番 に 調 べ ら れ 、 最 初 に マ ッ チ す る 項 目 で 応 答 が 決 め ら れ る 。 Direct と Broadcast 項 目 は Indirect 項 目 を 調 べ る と き に は 無 視 さ れ る 。 そ の 逆 も 同 じ で あ る 。 空 白 行 は 無 視 さ れ る 。 ’#’ は コ メ ン ト 区 切 り と し て 扱 わ れ 、 そ の 行 の 残 り は 無 視 さ れ る 。 ’\newline’ は 改 行 を 無 視 さ れ る よ う に し 、 間 接 ホ ス ト の リ ス ト を 複 数 行 に 渡 っ て 記 述 で き る よ う に す る 。

Xaccess フ ァ イ ル の 例 を 示 す :

#
# Xaccess − XDMCP ア ク セ ス 制 御 フ ァ イ ル
#

#
# Direct/Broadcast query entries
#

!xtra.lcs.mit.edu

# xtra に 対 す る direct/broadcast サ ー ビ ス を 禁 止 す る

bambi.ogi.edu

# こ の 特 定 の デ ィ ス プ レ イ か ら の ア ク セ ス を 許 可 す る

*.lcs.mit.edu

# LCS ド メ イ ン の 任 意 の デ ィ ス プ レ イ か ら の ア ク セ ス を 許 可 す る

*.deshaw.com

NOBROADCAST

# direct ア ク セ ス の み を 許 可 す る

*.gw.com

# direct ア ク セ ス と broadcast ア ク セ ス を 許 可 す る

#
# Indirect 問 い 合 わ せ 項 目
#

%HOSTS

expo.lcs.mit.edu xenon.lcs.mit.edu \

excess.lcs.mit.edu kanga.lcs.mit.edu

extract.lcs.mit.edu

xenon.lcs.mit.edu

# extract を xenon に 接 続 さ せ る

!xtra.lcs.mit.edu

dummy

#indirect ア ク セ ス を 禁 止 す る

*.lcs.mit.edu

%HOSTS

#他 の 全 て の ホ ス ト を 選 択 さ せ る

CHOOSER

Broadcast ま た は Indirect 問 い 合 わ せ を 使 っ て ホ ス ト メ ニ ュ ー を 出 さ な い X 端 末 に 対 し て は 、 chooser プ ロ グ ラ ム が メ ニ ュ ー を 出 す 。 Xaccess フ ァ イ ル の 中 で 、 Indirect ホ ス ト リ ス ト 内 の 最 初 の 項 目 に ’’CHOOSER’’ を 指 定 す る こ と 。 chooser は Query リ ク エ ス ト を リ ス ト 中 の 残 り の ホ ス ト 名 そ れ ぞ れ に 送 り 、 応 答 し た 全 て の ホ ス ト を メ ニ ュ ー に 出 す 。 リ ス ト で ’’BROADCAST’’ と い う 語 を 使 う こ と も で き 、 こ の 場 合 に は 代 わ り に chooser は Broadcast を 送 り 、 応 答 し た 全 て の ホ ス ト を メ ニ ュ ー に 出 す 。 OS に よ っ て は UDP パ ケ ッ ト を ブ ロ ー ド キ ャ ス ト で き ず 、 こ の 機 能 が 動 作 し な い 場 合 が あ る 点 に 注 意 す る こ と 。

chooser を 用 い る 場 合 の Xaccess フ ァ イ ル の 例 を 示 す :

extract.lcs.mit.edu

CHOOSER %HOSTS

#こ れ ら の ホ ス ト の メ ニ ュ ー を 出 す

xtra.lcs.mit.edu

CHOOSER BROADCAST

#全 て の ホ ス ト の メ ニ ュ ー を 出 す

chooser を 使 用 す る プ ロ グ ラ ム は 、 DisplayManager.DISPLAY.chooser リ ソ ー ス に よ っ て 指 定 さ れ る 。 こ の 段 階 を よ り 柔 軟 に す る た め 、 chooser を シ ェ ル ス ク リ プ ト に す る こ と も で き る 。 こ こ で 、 chooser は セ ッ シ ョ ン マ ネ ー ジ ャ で あ り 、 子 プ ロ セ ス の xdm の 代 わ り に デ ィ ス プ レ イ を 管 理 す る 。 こ の プ ロ グ ラ ム 用 の リ ソ ー ス は 、 DisplayManager.DISPLAY.resources に フ ァ イ ル 名 を 記 述 す る こ と が で き る 。 ユ ー ザ が ホ ス ト を 選 択 す る と き 、 chooser は 選 択 さ れ た ホ ス ト (こ れ は 親 で あ る xdm が 取 得 す る )を 出 力 し て 終 了 す る 。 xdm は X サ ー バ へ の 接 続 を 閉 じ 、 サ ー バ は リ セ ッ ト を 行 い 、 別 の Indirect XDMCP リ ク エ ス ト を 送 る 。 xdm は ユ ー ザ に 選 択 さ れ た ホ ス ト を (DisplayManager.choiceTimeout 秒 間 )記 憶 す る 。 こ の 選 択 さ れ た ホ ス ト は そ の デ ィ ス プ レ イ で セ ッ シ ョ ン を 開 始 す る 。

ロ ー カ ル サ ー バ 指 定

DisplayManager.servers リ ソ ー ス は サ ー バ の 指 定 を 与 え る 。 あ る い は 、 ス ラ ッ シ ュ (/)で 始 ま る 値 の 場 合 に は 、 サ ー バ を 指 定 し て い る フ ァ イ ル の 名 前 を 1行 に 1つ ず つ 指 定 す る 。 そ れ ぞ れ の 指 定 は 、 常 に 管 理 さ れ て お り XDMCP を 使 っ て い な い デ ィ ス プ レ イ を 示 す 。 こ の 方 法 は 普 通 は ロ ー カ ル サ ー バ だ け で 使 わ れ る 。 こ の リ ソ ー ス ま た は リ ソ ー ス で 指 定 し た フ ァ イ ル が 空 の 場 合 は 、 xdm は XDMCP サ ー ビ ス だ け を 提 供 す る 。 そ れ ぞ れ の 指 定 は 最 低 3 個 の 部 分 か ら 構 成 さ れ て い る : こ れ は デ ィ ス プ レ イ 名 、 デ ィ ス プ レ イ ク ラ ス 、 デ ィ ス プ レ イ タ イ プ で あ り 、 (ロ ー カ ル サ ー バ に 対 し て は ) サ ー バ を 起 動 す る コ マ ン ド 行 で あ る 。 番 号 0の ロ ー カ ル デ ィ ス プ レ イ に 対 す る 典 型 的 な 項 目 は 次 の よ う に な る : : 0 Digital-QV local /usr/X11R6/bin/X :0 デ ィ ス プ レ イ タ イ プ は 次 の よ う に な る :

local

ロ ー カ ル デ ィ ス プ レ イ : xdm は サ ー バ を 起 動 し な け れ ば な ら な い

foreign

リ モ ー ト デ ィ ス プ レ イ : xdm は 動 作 し て い る サ ー バ に 対 す る X 接 続 を オ ー プ ン す る デ ィ ス プ レ イ 名 は 、 −display オ プ シ ョ ン で X プ ロ グ ラ ム に 渡 せ る よ う な も の で な け れ ば な ら な い 。 こ の 文 字 列 は デ ィ ス プ レ イ 固 有 の リ ソ ー ス 名 を 生 成 す る た め に 使 わ れ る の で 、 そ の 名 前 と マ ッ チ す る よ う に 注 意 す る こ と (例 え ば 、 他 の リ ソ ー ス が ’’DisplayManager._0.session’’ の よ う に 設 定 さ れ て い る 場 合 に は 、 ’’localhost:0 Sun-CG3 local /usr/X11R6/bin/X :0’’ で は な く ’’:0 Sun-CG3 local /usr/X11R6/bin/X :0’’ を 使 用 す る こ と )。 デ ィ ス プ レ イ ク ラ ス 部 分 も 、 リ ソ ー ス の タ イ プ の よ う に デ ィ ス プ レ イ 固 有 の リ ソ ー ス で 使 わ れ る 。 こ れ は 、 似 た よ う な デ ィ ス プ レ イ が た く さ ん あ り (X 端 末 を 並 べ て い る よ う な 場 合 )こ れ ら に ま と め て リ ソ ー ス を セ ッ ト し た い よ う な 場 合 に 便 利 で あ る 。 XDMCP を 使 う と き は デ ィ ス プ レ イ に は デ ィ ス プ レ イ ク ラ ス を 指 定 し な け れ ば な ら な い の で 、 個 別 の X 端 末 の マ ニ ュ ア ル に は そ の デ バ イ ス に 対 す る デ ィ ス プ レ イ ク ラ ス が 記 述 さ れ て い る は ず で あ る 。 こ れ が 記 述 さ れ て い な け れ ば 、 xdm を デ バ ッ グ モ ー ド で 起 動 し て 、 そ の デ バ イ ス に 対 し て 生 成 さ れ る リ ソ ー ス 文 字 列 を 見 る こ と 。 こ れ に は ク ラ ス 文 字 列 が 含 ま れ て い る は ず で あ る 。

xdm は セ ッ シ ョ ン を 開 始 す る と き に 、 サ ー バ に 対 す る 認 証 デ ー タ を 設 定 す る 。 ロ ー カ ル サ ー バ に 対 し て は 、 xdm は サ ー バ の コ マ ン ド 行 で ’’−auth filename’’ を 渡 し 、 認 証 デ ー タ の 場 所 を 示 す 。 XDMCP サ ー バ に 対 し て は 、 xdmAccept XDMCP リ ク エ ス ト を 経 由 し て 認 証 デ ー タ を サ ー バ に 渡 す 。

リ ソ ー ス フ ァ イ ル

Xresources フ ァ イ ル は xrdb コ マ ン ド を 使 っ て 、 リ ソ ー ス デ ー タ ベ ー ス と し て デ ィ ス プ レ イ に 読 み 込 ま れ る 。 認 証 ウ ィ ジ ェ ッ ト は 起 動 前 に こ の デ ー タ ベ ー ス を 読 み 込 む の で 、 こ の フ ァ イ ル は 認 証 ウ ィ ジ ェ ッ ト 用 の パ ラ メ ー タ も 含 ん で よ い :

xlogin*login.translations: #override\

Ctrl<Key>R: abort-display()\n\

<Key>F1: set-session-argument(failsafe) finish-field()\n\

<Key>Return: set-session-argument() finish-field()

xlogin*borderWidth: 3

xlogin*greeting: CLIENTHOST

#ifdef COLOR

xlogin*greetColor: CadetBlue

xlogin*failColor: red

#endif ト ラ ン ス レ ー シ ョ ン の 項 目 に 注 意 す る こ と 。 こ こ で は 、 ユ ー ザ が デ フ ォ ル ト セ ッ シ ョ ン か ら 抜 け 出 せ る (ま た 、 こ こ で 起 こ る 問 題 を 避 け る )よ う に す る た め 、 ウ ィ ジ ェ ッ ト の ト ラ ン ス レ ー シ ョ ン を い く つ か 新 た に 指 定 し て い る 。 #override を 指 定 し な い と 標 準 の ト ラ ン ス レ ー シ ョ ン が 消 去 さ れ 、 新 し い 値 に 置 き 換 え ら れ て し ま う 。 デ フ ォ ル ト の ト ラ ン ス レ ー シ ョ ン も 非 常 に 便 利 な の で (例 え ば 、 通 常 の 文 字 入 力 に 応 答 す る ’’<Key>: insert-char ()’’ 等 )、 こ の よ う な 置 き 換 え は あ ま り 好 ま し い 結 果 で は な い 。 こ の フ ァ イ ル は 設 定 プ ロ グ ラ ム と chooser に 対 す る リ ソ ー ス も 含 ん で よ い 。

設 定 プ ロ グ ラ ム

Xsetup フ ァ イ ル は サ ー バ が リ セ ッ ト さ れ た 後 、 か つ Login ウ ィ ン ド ウ が 出 る 前 に 起 動 す る 。 こ の フ ァ イ ル は 普 通 は に シ ェ ル ス ク リ プ ト で あ る 。 こ の フ ァ イ ル は ル ー ト 権 限 で 実 行 さ れ る の で 、 セ キ ュ リ テ ィ に は 注 意 が 必 要 で あ る 。 こ の フ ァ イ ル に は 、 ル ー ト ウ ィ ン ド ウ の 背 景 を 変 え た り 、 Login ウ ィ ジ ェ ッ ト と 一 緒 に ス ク リ ー ン に 表 示 す る 他 の ウ ィ ン ド ウ を 呼 び 出 す た め の 記 述 を 行 う 。

DisplayManager.exportList に よ る 指 定 に 加 え 、 次 の 環 境 変 数 が 渡 さ れ る :

DISPLAY

関 連 す る デ ィ ス プ レ イ 名

PATH

DisplayManager.DISPLAY.systemPath の 値

SHELL

DisplayManager.DISPLAY.systemShell の 値

XAUTHORITY

認 証 フ ァ イ ル が セ ッ ト さ れ る

xdm は キ ー ボ ー ド を 占 有 す る の で 、 他 の ウ ィ ン ド ウ は キ ー ボ ー ド 入 力 を 受 け 付 け な い 点 に 注 意 す る こ と 。 し か し 、 マ ウ ス で 操 作 す る こ と は で き る 。 セ キ ュ リ テ ィ ホ ー ル の 可 能 性 に 注 意 す る こ と 。 DisplayManager.DISPLAY.grabServer が セ ッ ト さ れ て い る 場 合 は 、 Xsetup は デ ィ ス プ レ イ に 全 く 接 続 で き な い 。 こ の プ ロ グ ラ ム 用 の リ ソ ー ス は DisplayManager.DISPLAY.resources が 指 す フ ァ イ ル に 記 述 す る こ と が で き る 。 以 下 に Xsetup ス ク リ プ ト の 例 を 挙 げ る :

#!/bin/sh

# Xsetup_0 − ワ ー ク ス テ ー シ ョ ン 1 台 用 の 設 定 ス ク リ プ ト

xcmsdb < /usr/X11R6/lib/monitors/alex.0

xconsole −geometry 480x130−0−0 −notify −verbose −exitOnFail &

認 証 ウ ィ ジ ェ ッ ト

認 証 ウ ィ ジ ェ ッ ト は ユ ー ザ 名 /パ ス ワ ー ド の 組 を キ ー ボ ー ド か ら 読 み 込 む 。 考 え ら れ る よ う な パ ラ メ ー タ の ほ と ん ど 全 て は リ ソ ー ス で 制 御 で き る 。 こ の ウ ィ ジ ェ ッ ト 用 の リ ソ ー ス は DisplayManager.DISPLAY.resources が 指 す フ ァ イ ル に 記 述 す る こ と 。 全 て の リ ソ ー ス に は ち ゃ ん と し た デ フ ォ ル ト 値 が 設 定 さ れ て い る の で 、 こ れ ら に 値 を 指 定 す る 必 要 は な い 。

xlogin.Login.width, xlogin.Login.height, xlogin.Login.x, xlogin.Login.y 通 常 、 Login ウ ィ ジ ェ ッ ト の ジ オ メ ト リ は 自 動 的 に 計 算 さ れ る 。 こ の 位 置 を 変 え た い 場 合 に は 、 こ れ ら の リ ソ ー ス で 指 定 す る こ と 。
xlogin.Login.foreground
入 力 し た ユ ー ザ 名 の 表 示 に 使 う 色 。
xlogin.Login.font
入 力 し た ユ ー ザ 名 の 表 示 に 使 う フ ォ ン ト 。
xlogin.Login.greeting
こ の ウ ィ ン ド ウ を 識 別 す る た め の 文 字 列 。 デ フ ォ ル ト 値 は ’’X Window System’’ で あ る 。
xlogin.Login.unsecureGreeting

X の 認 証 が こ の デ ィ ス プ レ イ 用 の 設 定 フ ァ イ ル で 要 求 さ れ て い る が 、 全 く 使 用 さ れ て い な い と き 、 標 準 の グ リ ー テ ィ ン グ は こ の グ リ ー テ ィ ン グ に 置 き 換 え ら れ る 。 デ フ ォ ル ト 値 は ’’This is an unsecure session’’ で あ る 。

xlogin.Login.greetFont グ リ ー テ ィ ン グ の 表 示 に 用 い る フ ォ ン ト 。
xlogin.Login.greetColor
グ リ ー テ ィ ン グ の 表 示 に 用 い る 色 。
xlogin.Login.namePrompt
ユ ー ザ 名 の プ ロ ン プ ト に 表 示 す る 文 字 列 。 xrdb は リ ソ ー ス の 値 の 末 尾 の 空 白 文 字 を 取 り 除 き 、 プ ロ ン プ ト の 末 尾 に 空 白 を 追 加 し (普 通 は こ れ で 良 い )、 バ ッ ク ス ラ ッ シ ュ で エ ス ケ ー プ し た 空 白 を 追 加 す る 。 デ フ ォ ル ト 値 は ’’Login: ’’ で あ る 。
xlogin.Login.passwdPrompt
パ ス ワ ー ド の プ ロ ン プ ト に 表 示 す る 文 字 列 。 デ フ ォ ル ト 値 は ’’Password: ’’ で あ る 。
xlogin.Login.promptFont
両 方 の プ ロ ン プ ト の 表 示 に 用 い る フ ォ ン ト 。
xlogin.Login.promptColor
両 方 の プ ロ ン プ ト の 表 示 に 用 い る 色 。
xlogin.Login.fail
認 証 が 失 敗 し た と き に 表 示 す る メ ッ セ ー ジ 。 デ フ ォ ル ト 値 は ’’Login incorrect’’ で あ る 。
xlogin.Login.failFont
認 証 失 敗 の メ ッ セ ー ジ の 表 示 に 用 い る フ ォ ン ト 。
xlogin.Login.failColor
認 証 失 敗 の メ ッ セ ー ジ の 表 示 に 用 い る 色 。
xlogin.Login.failTimeout
認 証 失 敗 の メ ッ セ ー ジ を 表 示 す る 秒 数 。 デ フ ォ ル ト 値 は 30 秒 で あ る 。
xlogin.Login.translations
ロ グ イ ン ウ ィ ジ ェ ッ ト で 使 う ト ラ ン ス レ ー シ ョ ン を 指 定 す る 。 詳 し い 説 明 に つ い て は 、 X ツ ー ル キ ッ ト の 文 書 を 参 照 す る こ と 。 デ フ ォ ル ト の ト ラ ン ス レ ー シ ョ ン テ ー ブ ル を 以 下 に 示 す :

Ctrl<Key>H:

delete-previous-character() \n\

Ctrl<Key>D:

delete-character() \n\

Ctrl<Key>B:

move-backward-character() \n\

Ctrl<Key>F:

move-forward-character() \n\

Ctrl<Key>A:

move-to-begining() \n\

Ctrl<Key>E:

move-to-end() \n\

Ctrl<Key>K:

erase-to-end-of-line() \n\

Ctrl<Key>U:

erase-line() \n\

Ctrl<Key>X:

erase-line() \n\

Ctrl<Key>C:

restart-session() \n\

Ctrl<Key>\\:

abort-session() \n\

<Key>BackSpace:delete-previous-character() \n\

<Key>Delete:

delete-previous-character() \n\

<Key>Return:

finish-field() \n\

<Key>:

insert-char() \

xlogin.Login.allowRootLogin こ の リ ソ ー ス に ’’false’’ が 設 定 さ れ て る と 、 root (お よ び ユ ー ザ ID が 0 で あ る 全 て の ユ ー ザ )は 直 接 ロ グ イ ン で き な い 。 デ フ ォ ル ト 値 は ’’true’’ で あ る 。
xlogin.Login.allowNullPasswd
こ の リ ソ ー ス を ’’true’’ に 設 定 す る と 、 ア カ ウ ン ト が パ ス ワ ー ド を 全 く 必 要 と し な け れ ば 、 パ ス ワ ー ド が 一 致 し な い 場 合 を 除 い て 認 証 を 成 功 と す る 。 デ フ ォ ル ト 値 は ’’false’’ で あ り 、 パ ス ワ ー ド が 割 り 当 て ら れ て い る ユ ー ザ だ け が ロ グ イ ン で き る 。 こ の ウ ィ ジ ェ ッ ト が サ ポ ー ト し て い る ア ク シ ョ ン を 以 下 に 挙 げ る :
delete-previous-character カ ー ソ ル の 前 の 文 字 を 消 去 す る 。
delete-character カ ー ソ ル の 次 の 文 字 を 消 去 す る 。
move-backward-character カ ー ソ ル を 後 ろ に 動 か す 。
move-forward-character カ ー ソ ル を 前 に 動 か す 。
move-to-begining

(ス ペ ル を 間 違 え た 名 前 が ア ク シ ョ ン に つ い て い ま す 。 す み ま せ ん 。 ) 編 集 可 能 な テ キ ス ト の 初 め ま で カ ー ソ ル を 移 動 さ せ る 。

move-to-end 編 集 可 能 な テ キ ス ト の 最 後 ま で カ ー ソ ル を 移 動 さ せ る 。
erase-to-end-of-line カ ー ソ ル の 後 ろ の テ キ ス ト を す べ て 消 去 す る 。
erase-line す べ て の テ キ ス ト を 消 去 す る 。
finish-field カ ー ソ ル が ロ グ イ ン 名 フ ィ ー ル ド に あ る 場 合 、 パ ス ワ ー ド フ ィ ー ル ド に 進 む 。 パ ス ワ ー ド フ ィ ー ル ド に あ る 場 合 は 、 現 在 の ロ グ イ ン 名 と パ ス ワ ー ド の 組 を チ ェ ッ ク す る 。 ロ グ イ ン 名 と パ ス ワ ー ド の 組 が 有 効 で あ れ ば 、 xdm は セ ッ シ ョ ン を 開 始 す る 。 こ の 組 が 有 効 で な け れ ば 、 認 証 失 敗 の メ ッ セ ー ジ を 表 示 し て プ ロ ン プ ト を 再 び 表 示 す る 。
abort-session サ ー バ を 終 了 し 再 ス タ ー ト さ せ る 。
abort-display サ ー バ を 終 了 し て 使 用 不 能 に す る 。 こ の ア ク シ ョ ン は デ フ ォ ル ト の 設 定 で は ア ク セ ス で き な い よ う に な っ て い る 。 シ ス テ ム コ ン ソ ー ル 上 の xdm を 停 止 さ せ る 理 由 は い く つ か あ る 。 こ の 理 由 に は 、 シ ス テ ム の シ ャ ッ ト ダ ウ ン を し た い と き 、 xdmshell を 使 用 し て い る と き 、 他 の タ イ プ の サ ー バ を 起 動 す る た め 、 一 般 に コ ン ソ ー ル に ア ク セ ス す る た め 等 が あ る 。 xdm に SIGHUP を 送 る と デ ィ ス プ レ イ は 再 ス タ ー ト す る 。 XDM の 制 御 セ ク シ ョ ン を 参 照 す る こ と 。
restart-session

X サ ー バ を リ セ ッ ト し て 、 新 し い セ ッ シ ョ ン を 開 始 す る 。 こ の ア ク シ ョ ン は 変 更 し た リ ソ ー ス を テ ス ト し た い 場 合 、 あ る い は シ ス テ ム メ ッ セ ー ジ で 画 面 が 上 書 き さ れ て し ま っ た 場 合 に 使 う こ と が で き る 。

insert-char 入 力 し た 文 字 を 挿 入 す る 。
set-session-argument セ ッ シ ョ ン 開 始 時 に セ ッ シ ョ ン に 渡 さ れ る 1語 の 引 き 数 を 指 定 す る 。 セ ッ シ ョ ン プ ロ グ ラ ム セ ク シ ョ ン を 参 照 す る こ と 。
allow-all-access サ ー バ の ア ク セ ス 制 御 を 無 効 に す る 。 こ れ は xdm が .Xauthority フ ァ イ ル を 生 成 で き な か っ た 場 合 に 使 用 す る こ と が で き る 。 こ れ を 使 用 す る と き は 十 分 注 意 す る こ と 。 こ れ を 行 う 前 に は ネ ッ ト ワ ー ク か ら マ シ ン を 切 り 放 し て お い た 方 が 良 い だ ろ う 。 一 部 の シ ス テ ム (OpenBSD)で は 、 ユ ー ザ の シ ェ ル が /etc/shells に 書 か れ て い な い と xdm 経 由 で の ロ グ イ ン は 許 可 さ れ な い 。 パ ス ワ ー ド と ア カ ウ ン ト の 有 効 期 限 も 通 常 通 り に 適 用 さ れ る 。

起 動 プ ロ グ ラ ム

Xstartup プ ロ グ ラ ム は ユ ー ザ が ロ グ イ ン し た と き に root 権 限 で 実 行 さ れ る 。 こ れ は 普 通 は シ ェ ル ス ク リ プ ト で あ る 。 Xstartup は root 権 限 で 実 行 す る の で 、 Xstartup に つ い て は セ キ ュ リ テ ィ に 十 分 注 意 す る こ と 。 こ の フ ァ イ ル に は /etc/utmp に エ ン ト リ ー を 追 加 す る コ マ ン ド や フ ァ イ ル サ ー バ か ら ユ ー ザ の ホ ー ム デ ィ レ ク ト リ を マ ウ ン ト す る コ マ ン ド 、 ロ グ イ ン が 許 可 さ れ な い 場 合 に セ ッ シ ョ ン を 中 止 さ せ る コ マ ン ド 等 を 記 述 す る 。

DisplayManager.exportList に よ る 指 定 に 加 え 、 以 下 の 環 境 変 数 を 渡 す こ と が で き る :

DISPLAY

関 連 す る デ ィ ス プ レ イ 名

HOME

ユ ー ザ の 最 初 の 作 業 デ ィ レ ク ト リ

LOGNAME

ユ ー ザ 名

USER

ユ ー ザ 名

PATH

DisplayManager.DISPLAY.systemPath の 値

SHELL

DisplayManager.DISPLAY.systemShell の 値

XAUTHORITY

認 証 フ ァ イ ル を セ ッ ト す る こ と が で き る ス ク リ プ ト へ は 引 き 数 は 全 く 渡 さ れ な い 。 xdm は ユ ー ザ セ ッ シ ョ ン を 開 始 す る 前 に 、 こ の ス ク リ プ ト が 終 了 す る の を 待 つ 。 こ の ス ク リ プ ト の 終 了 値 が ゼ ロ で な い 場 合 、 xdm は セ ッ シ ョ ン を 続 行 を 行 わ ず 、 他 の 認 証 サ イ ク ル を 開 始 す る 。 こ こ で 示 す サ ン プ ル の Xstartup フ ァ イ ル は 、 /etc/nologin フ ァ イ ル が 存 在 す る 間 は ロ グ イ ン を 行 わ せ な い 。 こ れ は 完 全 な 例 で は な く 、 単 に 利 用 で き る 機 能 の デ モ で あ る 。 以 下 に サ ン プ ル の Xstartup を 示 す ;

#!/bin/sh

#

# Xstartup

#

# こ の プ ロ グ ラ ム は ユ ー ザ の 認 証 後 、 root 権 限 で 実 行 さ れ る

#

if [ −f /etc/nologin ]; then

xmessage −file /etc/nologin −timeout 30 −center

exit 1

fi

sessreg −a −l $DISPLAY −x /usr/X11R6/lib/xdm/Xservers $LOGNAME

/usr/X11R6/lib/xdm/GiveConsole

exit 0

セ ッ シ ョ ン プ ロ グ ラ ム

Xsession プ ロ グ ラ ム は ユ ー ザ セ ッ シ ョ ン と し て 実 行 さ れ る コ マ ン ド で あ る 。 こ れ は 認 証 さ れ た ユ ー ザ の 権 限 で 実 行 さ れ る 。

DisplayManager.exportList の 指 定 に 加 え 、 次 の 環 境 変 数 が 渡 さ れ る :

DISPLAY

関 連 す る デ ィ ス プ レ イ 名

HOME

ユ ー ザ の 初 期 作 業 デ ィ レ ク ト リ

LOGNAME

ユ ー ザ 名

USER

ユ ー ザ 名

PATH

DisplayManager.DISPLAY.userPath の 値

SHELL

ユ ー ザ の デ フ ォ ル ト の シ ェ ル (getpwnam で 取 得 す る )

XAUTHORITY

標 準 で な い 認 証 フ ァ イ ル を セ ッ ト す る こ と が で き る

KRB5CCNAME

Kerberos 証 明 書 の キ ャ ッ シ ュ 名 を セ ッ ト す る こ と が で き る

X を 普 通 に イ ン ス ト ー ル し た 場 合 に は 、 Xsession は $HOME に あ る .xsession を 参 照 す る 。 こ の フ ァ イ ル に は 、 各 ユ ー ザ が セ ッ シ ョ ン と し て 利 用 す る コ マ ン ド が 記 述 さ れ る 。 Xsession は ま た 、 ユ ー ザ 指 定 の セ ッ シ ョ ン が 存 在 し な い 場 合 に 実 行 す る シ ス テ ム 標 準 の セ ッ シ ョ ン も 実 装 し て い る 。 通 常 の 使 用 方 法 セ ク シ ョ ン を 参 照 す る こ と 。

’set-session-argument’ ア ク シ ョ ン を 使 用 す る 認 証 ウ ィ ジ ェ ッ ト か ら 、 こ の プ ロ グ ラ ム へ 引 き 数 を 渡 す こ と が で き る 。 こ れ を 用 い て 違 う ス タ イ ル の セ ッ シ ョ ン を 選 択 で き る 。 こ の 機 能 の 便 利 な 使 い 方 の 1 つ は 、 通 常 の セ ッ シ ョ ン が 失 敗 し た と き に ユ ー ザ が こ の セ ッ シ ョ ン か ら エ ス ケ ー プ で き る よ う に す る こ と で あ る 。 こ の 機 能 を 使 え ば 、 ユ ー ザ は .xsession の 設 定 に 失 敗 し た 場 合 に 、 管 理 者 の 仲 介 が な く て も 自 分 の .xsession を 修 正 で き る 。 次 の 例 で こ の 機 能 を 示 す : こ れ は 特 殊 な 「 フ ェ ー ル セ ー フ 」 モ ー ド を 使 え る よ う に す る 例 題 で あ る 。 こ の モ ー ド は Xresources フ ァ イ ル の ト ラ ン ス レ ー シ ョ ン で 指 定 し 、 通 常 の セ ッ シ ョ ン か ら エ ス ケ ー プ で き る よ う に す る 。 こ の 例 題 で は .xsession フ ァ イ ル が 実 行 可 能 で あ る こ と も 必 要 で あ る の で 、 こ の フ ァ イ ル が 使 お う と す る シ ェ ル を 推 定 す る 必 要 は な い 。

#!/bin/sh

#

# Xsession

#

# こ れ は 、 デ ィ ス プ レ イ マ ネ ー ジ ャ に 対 す る ク ラ イ ア ン ト

# と し て 実 行 さ れ る プ ロ グ ラ ム で あ る 。

case $# in

1)

case $1 in

failsafe)

exec xterm −geometry 80x24−0−0

;;

esac

esac

startup=$HOME/.xsession

resources=$HOME/.Xresources

if [ −f "$startup" ]; then

exec "$startup"

else

if [ −f "$resources" ]; then

xrdb −load "$resources"

fi

twm &

xman −geometry +10−10 &

exec xterm −geometry 80x24+10+10 −ls

fi ユ ー ザ の .xsession フ ァ イ ル は こ の 例 の よ う に な っ て い る だ ろ う 。 こ の フ ァ イ ル に は 実 行 属 性 を 持 た せ る 必 要 が あ る の を 忘 れ な い こ と 。

#! /bin/csh

# .cshrc を 実 行 さ せ て $PATH を セ ッ ト さ せ る た め 、 前 の 行 で -f

# オ プ シ ョ ン は 指 定 し な い こ と

twm &

xrdb −merge "$HOME/.Xresources"

emacs −geometry +0+50 &

xbiff −geometry −430+5 &

xterm −geometry −0+50 -ls

リ セ ッ ト プ ロ グ ラ ム

Xstartup と 対 に な る Xreset ス ク リ プ ト は 、 ユ ー ザ セ ッ シ ョ ン が 終 了 し た 後 に 実 行 さ れ る 。 こ の フ ァ イ ル は root 権 限 で 実 行 さ れ 、 Xstartup で 実 行 さ れ た コ マ ン ド の 効 果 を 打 ち 消 す よ う な コ マ ン ド や 、 /etc/utmp か ら の 項 目 の 削 除 、 フ ァ イ ル サ ー バ か ら の デ ィ レ ク ト リ の ア ン マ ウ ン ト を 行 う コ マ ン ド を 含 む 。 Xstartup に 渡 さ れ た 環 境 変 数 は Xreset に も 渡 さ れ る 。

Xreset ス ク リ プ ト の 例 :

#!/bin/sh

#

# Xreset

#

# こ の プ ロ グ ラ ム は セ ッ シ ョ ン が 終 わ っ た 後 に root 権 限 で 実 行 さ れ る

#

sessreg −d −l $DISPLAY −x /usr/X11R6/lib/xdm/Xservers $LOGNAME

/usr/X11R6/lib/xdm/TakeConsole

exit 0

サ ー バ の 制 御

xdm は POSIX シ グ ナ ル を 用 い て ロ ー カ ル サ ー バ を 制 御 す る 。 SIGHUP で は 、 サ ー バ が リ セ ッ ト さ れ 、 す べ て の ク ラ イ ア ン ト の 接 続 の ク ロ ー ズ や 他 の 後 処 理 が 行 わ れ る こ と が 期 待 さ れ る 。 SIGTERM で は サ ー バ が 終 了 す る こ と が 期 待 さ れ る 。 こ れ ら の シ グ ナ ル が 期 待 さ れ る 動 作 を し な い 場 合 は 、 DisplayManager.DISPLAY.resetSignal, DisplayManager.DISPLAY.termSignal リ ソ ー ス で 他 の シ グ ナ ル を 設 定 す る こ と が で き る 。

XDMCP を 使 わ な い リ モ ー ト 端 末 を 制 御 す る た め 、 xdm は デ ィ ス プ レ イ の ウ ィ ン ド ウ の 階 層 構 造 を 検 索 し 、 次 の セ ッ シ ョ ン の た め に 端 末 を 片 づ け る た め に KillClient プ ロ ト コ ル リ ク エ ス ト を 用 い る 。 こ れ は 実 際 に は 全 て の ク ラ イ ア ン ト を 破 棄 す る の で は な く 、 ウ ィ ン ド ウ を 生 成 し た ク ラ イ ア ン ト だ け が 通 知 を 受 け る 。 XDMCP は よ り 確 実 に 動 作 す る 機 構 を 提 供 し て い る 。 xdm が 最 初 の 接 続 を 閉 じ た と き 、 そ の セ ッ シ ョ ン は 終 了 し 、 端 末 に は 他 の す べ て の 接 続 を 閉 じ る こ と が 要 求 さ れ る 。

XDM の 制 御

xdm は 二 つ の シ グ ナ ル SIGHUP と SIGTERM に 応 答 す る 。 SIGHUP を 送 る と xdm は 設 定 フ ァ イ ル 、 ア ク セ ス 制 御 フ ァ イ ル と サ ー バ フ ァ イ ル を 再 読 み 込 み す る 。 サ ー バ フ ァ イ ル に つ い て は 、 項 目 の 追 加 や 削 除 が あ れ ば 通 知 が な さ れ る 。 新 し い 項 目 が 追 加 さ れ た ら 、 xdm は 対 応 す る デ ィ ス プ レ イ の セ ッ シ ョ ン を 開 始 す る 。 削 除 さ れ た 項 目 は 即 座 に 無 効 に さ れ る 。 こ れ は 通 知 無 し に 進 行 中 の セ ッ シ ョ ン が 終 了 し 、 新 し い セ ッ シ ョ ン が 開 始 さ れ る と い う こ と で あ る 。

SIGTERM を 送 る と 、 xdm は 進 行 中 の す べ て の セ ッ シ ョ ン を 終 了 さ せ 、 自 身 も 終 了 す る 。 こ れ は シ ス テ ム を シ ャ ッ ト ダ ウ ン す る と き に 使 用 す る 。

xdm は コ マ ン ド 行 引 き 数 リ ス ト を 適 宜 修 正 し て 、 ps(1) の た め に 各 種 サ ブ プ ロ セ ス に 印 を つ け よ う と す る 。 xdm は こ の 作 業 の た め に 追 加 の 割 り 当 て を 行 う こ と が で き な い の で 、 xdm を 十 分 な 長 い コ マ ン ド 行 (フ ル パ ス 名 で 十 分 だ ろ う )を 使 っ て 起 動 す る と よ い 。 デ ィ ス プ レ イ を 提 供 し て い る そ れ ぞ れ の プ ロ セ ス に は 、 display の 印 が 付 け ら れ る 。

追 加 の ロ ー カ ル デ ィ ス プ レ イ

ロ ー カ ル デ ィ ス プ レ イ を 追 加 す る に は 、 Xservers フ ァ イ ル に 一 行 追 加 す る 。 (ロ ー カ ル サ ー バ の 指 定 セ ク シ ョ ン を 参 照 す る こ と 。 )

xdm-config 内 の デ ィ ス プ レ イ 固 有 の リ ソ ー ス を 調 べ (例 え ば 、 DisplayManager._0.authorize)、 ど の リ ソ ー ス を 新 し い デ ィ ス プ レ イ 用 に コ ピ ー す る か 考 え る こ と 。 デ フ ォ ル ト の xdm-config に は :0:1 に 対 す る 適 切 な 指 定 が あ る 。

他 の 可 能 性

4.3 init オ プ シ ョ ン を 使 い 、 xdm で 同 時 に 1つ の セ ッ シ ョ ン を 実 行 す る こ と が で き る 。 ま た 、 コ マ ン ド 行 で サ ー バ を 指 定 す る こ と に よ り 、 他 の 適 切 な デ ー モ ン を 実 行 す る こ と が で き る 。

xdm −server ":0 SUN-3/60CG4 local /usr/X11R6/bin/X :0" あ る い は 、 フ ァ イ ル サ ー バ と 何 台 も の X 端 末 が あ る も の と す る 。 こ の 場 合 の 設 定 フ ァ イ ル は 、 Xservers フ ァ イ ル が 次 の よ う に な る 点 以 外 は 前 述 の 例 と 同 じ で あ る :

extol:0 VISUAL-19 foreign

exalt:0 NCD-19 foreign

explode:0 NCR-TOWERVIEW3000 foreign こ れ は 、 xdm を こ れ ら の 3台 の 端 末 全 て の セ ッ シ ョ ン を 管 理 す る こ と を 指 示 す る 。 init(8) と 同 じ よ う に シ グ ナ ル を 使 っ て こ れ ら の 端 末 を 有 効 /無 効 に す る 方 法 に つ い て は 、 XDM の 制 御 セ ク シ ョ ン を 参 照 す る こ と 。

制 限 事 項

xdm と 他 の ウ ィ ン ド ウ シ ス テ ム と の 共 存 は あ ま り う ま く い か な い 。 同 じ ハ ー ド ウ ェ ア で 複 数 の ウ ィ ン ド ウ シ ス テ ム を 使 う 場 合 に は 、 xinit を 使 う 方 が 良 い だ ろ う 。

フ ァ イ ル

<XRoot>/lib/X11/xdm/xdm-config デ フ ォ ル ト の 設 定 フ ァ イ ル

$HOME/.Xauthority

xdm が ク ラ イ ア ン ト に 対 す る キ ー の 格 納 、 取 得 を 行 う ユ ー ザ 認 証 フ ァ イ ル

<XRoot>/lib/X11/xdm/chooser デ フ ォ ル ト の chooser

<XRoot>/bin/xrdb デ フ ォ ル ト の リ ソ ー ス デ ー タ ベ ー ス 読 み 込 み プ ロ グ ラ ム

<XRoot>/bin/X デ フ ォ ル ト の サ ー バ

<XRoot>/bin/xterm デ フ ォ ル ト の セ ッ シ ョ ン プ ロ グ ラ ム と フ ェ ー ル セ ー フ ク ラ イ ア ン ト

<XRoot>/lib/X11/xdm/A<display>−<suffix> 認 証 フ ァ イ ル の デ フ ォ ル ト の 位 置

/tmp/K5C<display>

Kerberos の 証 明 書 キ ャ ッ シ ュ

注 意 : <XRoot> は X11 の イ ン ス ト ー ル ツ リ ー の ル ー ト デ ィ レ ク ト リ を 示 す 。

関 連 項 目

X(7), xinit(1), xauth(1), Xsecurity(7), sessreg(1), Xserver(1),
X Display Manager Control Protocol

著 者

Keith Packard, MIT X Consortium