6.6 X 显示管理器

Contributed by Seth Kingsley.

6.6.1 概要

  X 显示管理器(XDM) 是一个X视窗系统用于进行登录会话管理的可选项。 这个可以应用于多种情况下,包括小 “X Terminals”, 桌面,大网络显示服务器。既然 X 视窗系统不受网络和协议的限制, 那对于通过网络连接起来的运行 X 客户端和服务器端的不同机器, 就会有很多的可配置项。 XDM 提供了一个选择要连接到哪个显示服务器的图形接口, 只要键入如登录用户名和密码这样的验证信息。

  您也可以把 XDM 想象成与 getty(8) 工具一样(see 第 27.3.2 节 for details)。为用户提供了同样功能。它可以完成系统的登录任务, 然后为用户运行一个会话管理器 (通常是一个 X 视窗管理器)。接下来 XDM 就等待这个程序退出,发出信号用户已经登录完成,应当退出屏幕。 这时, XDM 就可以为下一个登录用户显示登录和可选择屏幕。

6.6.2 使用 XDM

  如果希望使用 XDM 来启动, 首先需要安装 x11/xdm port (在较新版本的 Xorg 中它并不是默认安装的)。 XDM 服务程序位于 /usr/local/bin/xdm。 任何时候都可以 root 用户的身份来运行它, 以令其管理本地系统的 X 显示。 如果希望让 XDM 在系统每次启动过程中自动运行, 比较方便的做法是把它写到 /etc/ttys 的配置中。 有关这个文件的具体格式和使用方法请参阅 第 27.3.2.1 节。 在默认的 /etc/ttys 文件中已经包含了在虚拟终端上运行 XDM 服务的示范配置:

ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure

  默认情况下,这个记录是关闭的,要启用它, 您需要把第5部分的 off 改为 on 然后按照 第 27.3.2.2 节 的指导 重新启动 init(8)。第一部分,这个程序将管理的终端名称是 ttyv8。这意味着 XDM 将运行在第9个虚拟终端上。

6.6.3 配置 XDM

  XDM 的配置目录是在 /usr/local/lib/X11/xdm中。在这个目录中, 您会看到几个用来改变 XDM 行为和外观的文件。您会找到这些文件:

文件 描述
Xaccess 客户端授权规则。
Xresources 默认的X资源值。
Xservers 远程和本地显示管理列表。
Xsession 用于登录的默认的会话脚本。
Xsetup_* 登录之前用于加载应用程序的脚本。
xdm-config 运行在这台机器上的所有显示的全局配置。
xdm-errors 服务器程序产生的错误。
xdm-pid 当前运行的 XDM 的进程 ID。

  当 XDM 运行时, 在这个目录中有几个脚本和程序可以用来设置桌面。 这些文件中的每一个的用法都将被简要地描述。 这些文件的更详细的语法和用法在 xdm(1) 中将有详细描述。

  默认的配置是一个矩形的登录窗口,上面有机器的名称, “Login:” 和 “Password:”。如果您想设计您自己个性化的 XDM 屏幕,这是一个很好的起点。

6.6.3.1 Xaccess

  用以连接由 XDM 所控制的显示设备的协议, 叫做 X 显示管理器连接协议 (XDMCP)。 这个文件是一组用以控制来自远程计算机的 XDMCP 连接的规则。 除非您修改 xdm-config 使其接受远程连接, 否则其内容将被忽略。 默认情况下, 它不允许来自任何客户端的连接。

6.6.3.2 Xresources

  这是一个默认的用来显示选项和登录屏幕的应用程序文件。 您可以在这个文件中对登录程序的外观进行定制。 其格式与 X11 文档中描述的默认应用程序文件是一样的。

6.6.3.3 Xservers

  这是一个选择者应当提供的作为可选的远程显示列表。

6.6.3.4 Xsession

  这是一个用户登录后针对 XDM 的默认会话脚本。通常,在 ~/.xsession 中每个用户将有一个可定制的会话脚本。

6.6.3.5 Xsetup_*

  在显示选择者或登录接口之前,这些将被自动运行。 这是一个每个显示都要用到的脚本,叫做 Xsetup_, 后面会跟一个本地显示的数字(比如 Xsetup_0)。典型的,这些脚本将在后台 (如 xconsole)运行一个或两个程序。

6.6.3.6 xdm-config

  此文件以应用程序默认值的形式, 提供了在安装时所使用的普适的显示设置。

6.6.3.7 xdm-errors

  这个文件包含了 XDM 正设法运行的的 X 服务器 的输出。 如果 XDM 正设法运行的显示由于某种原因被挂起, 那这是一个寻找错误信息的好地方。 这些信息会在每一个会话的基础上被写到用户的 ~/.xsession-errors 文件中。

6.6.4 运行一个网络显示服务器

  对于其他客户端来说, 如果希望它们能连接到显示服务器,您就必须编辑访问控制规则, 并启用连接侦听。 默认情况下, 这些都预设为比较保守的值。 要让 XDM 能侦听连接, 首先要在 xdm-config 文件中注释掉一行:

! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0

  然后重新启动XDM。 记住默认应用程序文件的注释以“!” 字母开始,不是“#”。 您需要设置严格的访问控制 ── 看看在 Xaccess 文件中的实例, 并参考 xdm(1) 的联机手册, 以了解进一步的细节。

6.6.5 替换 XDM

  有几个替换默认 XDM程序的方案。 其中之一是 上一节已经描述过的kdm (与 KDE捆绑在一起)。 kdm 提供了许多视觉上的改进和局部的修饰, 同样能让用户在启动时能选择他们喜欢的窗口管理器。

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.