要修改Xconfig,需將 Xconfig 從 /usr/dt/config 復制到 /etc/dt/config 中。修改 /etc/dt/config/Xconfig 之后, 鍵入下面的內容,以告知登錄服務器重新讀取 Xconfig:
|
這樣就發出以下命令 kill -HUP login_server_process_ID。
例如,要將登錄服務器進程 ID 存儲于 /var/myservers/Dtpid,需將下面的內容放入 Xconfig文件:
|
登錄服務器重新啟動時,它會將其進程 ID 存儲于 /var/myservers/Dtpid中。登錄服務器啟動時,/var/myservers 目錄必須存在。
在本地顯示器上顯示登錄屏幕
啟動后,登錄服務器檢查 Xservers 文件來決定是否需要啟動 X 服務器,并決定是否以及如何在本地或網絡顯示器上顯示登錄屏幕。
修改 Xservers,需將 Xservers 從 /usr/dt/config 復制到 /etc/dt/config。修改 /etc/dt/config/Xservers 之后,請鍵入下面的命令行以告知登錄服務器重新讀取 Xservers:
|
這樣就發出以下命令 kill -HUP login_server_process_ID
Xservers 行的格式為:
|
其中
display_name--當連接 X 服務器時,將要使用的連接名告知登錄服務器 (下例中的 :0)。* (星號) 的值被擴展為主機名 :0。指定的編號必須與 X_server_command 連接編號中指定的編號相匹配。
display_class--標識該顯示器的專用資源 (下例中的本地)。
display_type--告知登錄服務器顯示器是本地顯示器還是網絡顯示器,以及如何管理登錄屏幕上的"命令行登錄"選項 (下例中的 local@console)。
X_server_command--標識登錄服務器將要用來啟動 X 服務器的命令行、連接編號及其他選項 (下例中的 /usr/bin/X11/X:0)。指定的連接編號必須與 display_name指定的連接編號一樣。
缺省的Xservers行類似于:
|
在沒有本地顯示器情況下運行登錄服務器
如果登錄服務器系統沒有位圖顯示器,則使用 # (磅符號) 為本地顯示器注釋出 Xservers 行,以便運行不具有本地顯示器的登錄服務器。例如,
|
登錄服務器啟動時,它在后臺運行,等待來自于網絡顯示器的請求。
在本地顯示器上訪問命令行登錄
當用戶在登錄屏幕上選擇"命令行登錄"時,登錄服務器臨時中斷 X 服務器,以允許訪問在位圖顯示器終端設備上運行的傳統命令行登錄。在用戶登錄及注銷完成后,或在指定的超時過后,登錄服務器將重新啟動 X 服務器。
***"命令行登錄"選項在網絡顯示器上不可用。
display_type 控制"命令行登錄"的性能。display_type 的格式為:
|
指定 local@display_terminal_device 時,登錄服務器假定 X 服務器和 /dev/ display_terminal_device 在同一個物理設備上,并且命令行登錄 (通常是 getty) 正在該設備上運行。當用戶選擇"命令行登錄"時,X 服務器被終止,從而允許訪問運行在 /dev/ display_terminal_device 上的命令行登錄 (getty)。
要禁用顯示器上的"命令行登錄"選項,需將 display_terminal_device 指定為 none。缺省 display_terminal_device 的值為 console。指定 local 時,display_terminal_device 缺省為 console。指定 foreign 時,禁用"命令行登錄"。
***從命令行啟動登錄服務器時,在本地顯示器上禁用"命令行登錄"選項。
提供字符顯示器控制臺
如果登錄服務器系統有直接連接的字符顯示器作為控制臺,可能還要將 display_terminal_device 設置為 none, 以便禁用位圖顯示器登錄屏幕上的"命令行登錄"。
或者,如果命令行登錄 (getty) 同時運行在字符顯示器控制臺和位圖顯示器上,可以將 display_terminal_device 更改為位圖顯示器上的命令行登錄 (getty) 設備。
例如,如果位圖顯示器命令行登錄 (getty) 在設備 /dev/tty01 上,則將 display_type 更改為 local@tty01。
在網絡顯示器上顯示登錄屏幕
登錄服務器可以接受來自網絡顯示器的請求以便在那個特定的顯示器上顯示登錄屏幕。網絡顯示器通常是 X 終端,也可以是工作站。
為了管理來自網絡顯示器的請求,登錄服務器支持"X 顯示器管理器協議" (XDMCP) 1.0 。該協議可以使登錄服務器協商并接受或者拒絕來自網絡顯示器的請求。大多數 X 終端內置 XDMCP
來自網絡顯示器的XDMCP 直接請求
配置 X 終端以使用 XDMCP 直接模式 (查詢模式) 時,將登錄服務器主機的主機名告知 X 終端。X 終端引導時,它自動聯絡登錄服務器,登錄服務器便在 X 終端上顯示登錄屏幕。有關講述如何配置 X 終端以使用 XDMCP 直接模式的信息,請參閱 X 終端文檔。
大多數 X 服務器還支持 -query 選項。在此模式中,X 服務器就像 X 終端一樣工作,直接聯絡登錄服務器主機并請求它在 X 服務器上顯示登錄屏幕。例如,在工作站 bridget 上的位圖顯示器上啟動 X 服務器會使登錄服務器 anita 在 X 服務器上顯示登錄屏幕:
|
來自網絡顯示器的XDMCP 間接請求
配置 X 終端來使用 XDMCP 間接模式時,將登錄服務器主機的主機名告知 X 終端。X 終端引導時,它將聯絡登錄服務器,然后登錄服務器將在選擇器屏幕上給出網絡上其他登錄服務器主機的列表。從該列表中,用戶可以選擇主機,該主機將在用戶的 X 終端上顯示登錄屏幕。有關講述如何配置 X 終端以使用 XDMCP 間接模式的信息,請參閱 X 終端文檔。
與直接模式一樣,大多數 X 服務器支持 -indirect 選項,該選項使 X 服務器以 XDMCP 間接模式聯絡登錄服務器。
管理非XDMCP 網絡顯示器
較早的 X 終端可能不支持 XDMCP 。為了使登錄服務器在該類型的 X 終端上顯示登錄屏幕,要在 Xservers 文件中列出 X 終端的名稱。
因為顯示器在網絡上,所以 display_name 將主機名作為名稱的一部分。顯示類可被用來指定特定類的 X 終端的特定資源。(X 終端文檔會告訴您 X 終端的顯示類。)foreign 這個 display_type 告知登錄服務器連接現有的 X 服務器,而不是啟動它自己的 X 服務器。在這種情況下,有一個 X_server_command 沒有被指定。
實例
Xservers 文件中的下面的行指示登錄服務器在兩個非 XDMCP X 終端 (ruby 和 wolfie)上顯示登錄屏幕:
|
控制對登錄服務器的訪問
在缺省情況下,網絡上對登錄服務器主機具有訪問權的任何主機都可以請求顯示一個登錄屏幕。可以通過修改 Xaccess 文件來限制對登錄服務器的訪問。
要修改 Xaccess,需將 Xaccess 從 /usr/dt/config 復制到 /etc/dt/config 中。 修改 /etc/dt/config/Xaccess 之后,鍵入下面的內容以告知登錄服務器重新讀取 Xaccess:
|
這樣就發出以下命令:kill -HUP login server process ID。
XDMCP 直接模式
當主機試圖通過 XDMCP-direct 連接登錄服務器時,該主機名將與 Xaccess 中的各項進行比較,以決定是否允許該主機訪問登錄服務器。每個 Xaccess 項都是主機名,包括通配符 * (星號) 和 ? (問號)。一個 * (星號) 匹配零個或多個字符,而一個 ? (問號) 與任何單個字符匹配。以 ! (嘆號) 開頭的項不允許訪問;開頭沒有嘆號則允許訪問。
例如,Xaccess 包括下面的三項:
|
第一項允許從主機 amazon.waterloo.com 訪問登錄服務器,第二項允許從完全域名是以 dept5.waterloo.com 結尾的所有主機訪問登錄服務器,最后一項不允許任何其他主機訪問登錄服務器。
XDMCP 間接模式
主機試圖通過 XDMCP-indirect 連接登錄服務器時,其主機名將與 Xaccess 中的各項進行比較以決定是否允許該主機訪問登錄服務器。每個 Xaccess 項都類似于 XDMCP-direct 項,包括通配符,只是各項均標以 CHOOSER 字符串。例如:
|
同樣,第一項允許從主機 amazon.waterloo.com 訪問登錄服務器, 第二項允許從完全域名是以 dept5.waterloo.com 結尾的所有主機訪問登錄服務器,最后一項不允許任何其他主機訪問登錄服務器。
下列之一可以列在 CHOOSER 之后。
BROADCAST
主機名列表
BROADCAST 告知登錄服務器向登錄服務器子網廣播,以生成可用登錄服務器主機列表。主機名列表告知登錄服務器將該表用作可用登錄服務器主機列表。例如:
|
如果 amazon.waterloo.com 通過 XDMCP-indirect 連接,則提供給它包含 shoal 和 alum 的列表。如果 alice.dept5.waterloo.com 連接,就會給它提供登錄服務器子網上的所有可用登錄服務器主機的列表。其他 XDMCP-indirect 請求會遭到拒絕。
指定主機名列表的另一方法是定義包括主機名列表的一個或多個宏。例如:
|