名 前
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, getty と login が 行 な う こ と と 同 じ こ と 、 つ ま り ロ グ イ ン 名 と パ ス ワ ー ド の プ ロ ン プ ト を 出 し て ユ ー ザ 認 証 を 行 い 、 「 セ ッ シ ョ ン 」 を 起 動 す る 。 「 セ ッ シ ョ ン 」 は 伝 統 的 な 文 字 ベ ー ス の 端 末 の 世 界 で は 特 定 の プ ロ セ ス の 存 続 期 間 と し て 定 義 さ れ る 。 こ の 特 定 の プ ロ セ ス と は ユ ー ザ の ロ グ イ ン シ ェ ル で あ る 。 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 サ ー バ を リ セ ッ ト し た 後 、 xdm は Xsetup ス ク リ プ ト を 実 行 し て 、 ユ ー ザ が xlogin ウ ィ ジ ェ ッ ト で 見 る ス ク リ ー ン の 設 定 を 補 助 す る 。
xdm が 提 供 す る xlogin ウ ィ ジ ェ ッ ト は 、 よ く あ る タ イ プ の ロ グ イ ン と パ ス ワ ー ド プ ロ ン プ ト で あ る 。 ユ ー ザ が ロ グ イ ン し た 後 で 、 xdm は Xstartup ス ク リ プ ト を ル ー ト 権 限 で 実 行 す る 。 そ れ か ら xdm は Xsession ス ク リ プ ト を ユ ー ザ 権 限 で 実 行 す る 。 こ の シ ス テ ム セ ッ シ ョ ン フ ァ イ ル は 追 加 の 開 始 処 理 を い く つ か 行 い 、 通 常 は ユ ー ザ の ホ ー ム デ ィ レ ク ト リ の .xsession を 実 行 す る 。 Xsession ス ク リ プ ト が 終 了 す る と セ ッ シ ョ ン は 終 了 す る 。 セ ッ シ ョ ン の 最 後 に は 、 終 了 処 理 を 行 う Xreset ス ク リ プ ト が 実 行 さ れ 、 X サ ー バ が リ セ ッ ト さ れ 、 サ イ ク ル の 最 初 に 戻 る 。
xdm と Xsetup, 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 項 目 で は 、 接 続 で き る ホ ス ト の メ ニ ュ ー を 出 す た め に xdm に chooser を 実 行 さ せ る よ う に 指 定 す る こ と も で き る 。 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 サ ー バ に 対 し て は 、 xdm は Accept 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