Solaris 公用桌面环境:高级用户和系统管理员指南

管理本地和网络显示器

图 1-1 显示可供选择的登录服务器配置。

图形 1-1 可供选择的登录服务器配置

Graphic

查找登录服务器进程 ID

在缺省情况下,登录服务器将其进程 ID 存储于 /var/dt/Xpid 中。

要更改它,可以将 Dtlogin.pidFile 资源配置在 Xconfig 文件中。更改后,登录服务器启动时,指定的目录必须存在。

要修改 Xconfig,需将 Xconfig/usr/dt/config 复制到 /etc/dt/config 中。修改 /etc/dt/config/Xconfig 之后, 键入下面的内容,以告知登录服务器重新读取 Xconfig

/usr/dt/bin/dtconfig -reset

这样就发出以下命令 kill -HUP login_server_process_ID。

例如,要将登录服务器进程 ID 存储于 /var/myservers/Dtpid,需将下面的内容放入 Xconfig文件:

Dtlogin.pidFile: /var/myservers/Dtpid

登录服务器重新启动时,它会将其进程 ID 存储于 /var/myservers/Dtpid中。登录服务器启动时,/var/myservers 目录必须存在。

在本地显示器上显示登录屏幕

启动后,登录服务器检查 Xservers 文件来决定是否需要启动 X 服务器,并决定是否以及如何在本地或网络显示器上显示登录屏幕。

修改 Xservers,需将 Xservers/usr/dt/config 复制到 /etc/dt/config。修改 /etc/dt/config/Xservers 之后,请键入下面的命令行以告知登录服务器重新读取 Xservers

/usr/dt/bin/dtconfig -reset

这样就发出以下命令 kill -HUP login_server_process_ID

Xservers 行的格式为:

display_name display_class display_type X_server_command 

其中

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行类似于:

:0 Local local@console /usr/bin/X11/X :0

在没有本地显示器情况下运行登录服务器

如果登录服务器系统没有位图显示器,则使用 # (磅符号) 为本地显示器注释出 Xservers 行,以便运行不具有本地显示器的登录服务器。例如,

# :0 Local local@console /usr/bin/X11/X :0

登录服务器启动时,它在后台运行,等待来自于网络显示器的请求。

在本地显示器上访问命令行登录

当用户在登录屏幕上选择"命令行登录"时,登录服务器临时中断 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 服务器上显示登录屏幕:

X -query anita

来自网络显示器的 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 终端 (rubywolfie)上显示登录屏幕:

ruby.blackdog.com:0 AcmeXsta foreign wolfie:0 PandaCo foreign

控制对登录服务器的访问

在缺省情况下,网络上对登录服务器主机具有访问权的任何主机都可以请求显示一个登录屏幕。可以通过修改 Xaccess 文件来限制对登录服务器的访问。

要修改 Xaccess,需将 Xaccess/usr/dt/config 复制到 /etc/dt/config 中。 修改 /etc/dt/config/Xaccess 之后,键入下面的内容以告知登录服务器重新读取 Xaccess

/usr/dt/bin/dtconfig -reset

这样就发出以下命令:kill -HUP login server process ID

XDMCP 直接模式

当主机试图通过 XDMCP-direct 连接登录服务器时,该主机名将与 Xaccess 中的各项进行比较,以决定是否允许该主机访问登录服务器。每个 Xaccess 项都是主机名,包括通配符 * (星号) 和 ? (问号)。一个 * (星号) 匹配零个或多个字符,而一个 ? (问号) 与任何单个字符匹配。以 ! (叹号) 开头的项不允许访问;开头没有叹号则允许访问。

例如,Xaccess 包括下面的三项:

amazon.waterloo.com
 *.dept5.waterloo.com
 !*

第一项允许从主机 amazon.waterloo.com 访问登录服务器,第二项允许从完全域名是以 dept5.waterloo.com 结尾的所有主机访问登录服务器,最后一项不允许任何其他主机访问登录服务器。

XDMCP 间接模式

主机试图通过 XDMCP-indirect 连接登录服务器时,其主机名将与 Xaccess 中的各项进行比较以决定是否允许该主机访问登录服务器。每个 Xaccess 项都类似于 XDMCP-direct 项,包括通配符,只是各项均标以 CHOOSER 字符串。例如:

amazon.waterloo.com   CHOOSER BROADCAST
 *.dept5.waterloo.com CHOOSER BROADCAST
 !*  CHOOSER BROADCAST

同样,第一项允许从主机 amazon.waterloo.com 访问登录服务器, 第二项允许从完全域名是以 dept5.waterloo.com 结尾的所有主机访问登录服务器,最后一项不允许任何其他主机访问登录服务器。

下列之一可以列在 CHOOSER 之后。

BROADCAST 告知登录服务器向登录服务器子网广播,以生成可用登录服务器主机列表。主机名列表告知登录服务器将该表用作可用登录服务器主机列表。例如:

amazon.waterloo.com   CHOOSER shoal.waterloo.com alum.waterloo.com
 *.dept5.waterloo.com  CHOOSER BROADCAST
 !*  CHOOSER BROADCAST

如果 amazon.waterloo.com 通过 XDMCP-indirect 连接,则提供给它包含 shoalalum 的列表。如果 alice.dept5.waterloo.com 连接,就会给它提供登录服务器子网上的所有可用登录服务器主机的列表。其他 XDMCP-indirect 请求会遭到拒绝。

指定主机名列表的另一方法是定义包括主机名列表的一个或多个宏。例如:

%list1     shoal.waterloo.com alum.waterloo.com
 amazon.waterloo.com  CHOOSER%list1