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-HUPlogin_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-HUPlogin_server_process_ID

Xservers行的格式为:

display_namedisplay_classdisplay_typeX_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_deviceconsole。指定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 终端上显示登录屏幕。 关于如何为 XDMCP 直接模式配置 X 终端,请参阅 X 终端文档。

大多数 X 服务器还支持-query选项。在该模式中, X 服务器就象 X 终端一样工作,直接联络登录服务器主机 并请求在 X 服务器上显示登录屏幕。 例如,在工作站bridget的位图显示器上启动 X 服务器会使 登录服务器anita在 X 服务器上显示出登录屏幕:

X -query anita

来自网络显示器的 XDMCP 间接请求

配置 X 终端来使用 XDMCP 间接模式时,将登录服务器主机的主机名告知 X 终端。引导 X 终端 时,它将联洛登录服务器,然后登录服务器将 在选择器屏幕上给出网络上其它登录服务器主机的列表。从该列表中,用户可以选择主机,该主机将在用户的 X 终端上显示登录屏幕。关于如何为 XDMCP 间接模式配置 X 终端,请参阅 X 终端文档。

与直接模式相似,大多数 X 服务器支持-indirect 选项, 该选项使 X 服务器以XDMCP间接模式联洛登录服务器。

管理非 XDMCP 网络显示器

较早的 X 终端可能不支持 XDMCP 。为了使登录服务器在该类型的 X 终端上显示登录屏幕,要在Xservers文件中列出 X 终端的名称。

由于显示器在网络上,所以display_name 将主机名作为名称的一部分。display class 可被用来指定特定于 X 终端的特殊类的资源。(X 终端文档将给出 X 终端的显示类。) display_type,它的值为foreign,告知登录服务器连接现有的 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-HUPlogin 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