6.6. X 显示管理器

6.6.1. 概要

X 显示管理器(XDM) 是 X Window 系统用于管理登录会话的一个可选组件。 可用于 小型X 终端、 桌面和大型网络显示服务器。 既然 X Window 系统不受网络和协议的限制, 那对于通过网络连接起来的运行 X 客户端和服务器端的不同机器, 就会有很多的可配置项。 XDM 提供了一个图形用户界面, 让用户选择要连接到哪个显示服务器, 只需输入如登录用户名和密码这样的验证信息。

您也可以把 XDM 想象成与 getty(8) (详见:Section 25.3.2, “配置”)一样的工具。 为用户提供了同样功能。 它可以完成系统的登录任务, 然后为用户运行一个会话管理器 (通常是一个 X 视窗管理器)。 接下来 XDM 就等待这个程序退出, 等用户发出登录结束信号, 退出到登录界面。 这时, XDM 就开始为下一个用户的登录提供图像选择界面了。

6.6.2. 使用 XDM

如果希望使用 XDM 来管理启动, 就必须安装 x11/xdm 这个 port (在新版 Xorg 中它并不是默认安装的)。 XDM 守护程序位于 /usr/local/bin/xdm 。 任何时候都可以以 root 用户的身份来运行它, 用于管理本地系统的 X 显示。 如果希望 XDM 随机启动, 比较简便的做法是把它写到 /etc/ttys 配置中。 有关这个文件的具体格式和使用方法, 请参阅 Section 25.3.2.1, “添加一个记录到/etc/ttys 。 在默认的 /etc/ttys 文件, 已经包含了在虚拟终端上运行 XDM 服务的示例:

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

默认情况下, 这个记录是关闭的, 要启用它, 您需要把第5部分的 off 改为 on , 然后按照 Section 25.3.2.2, “重新读取/etc/ttys来强制init 的指导来重启 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 的PID。

XDM 运行时, 这个目录中有几个脚本和程序可以用来设置桌面。 在这里简要的介绍下这些文件的简单用法。 这些文件更详细的语法和用法请参照 xdm(1)

默认配置下登陆界面是一个简单的矩形窗口, 上面有计算机的名称、 Login:Password: 。 提示下, 如果你想美化一下 XDM 登陆界面, 这是一个很好的开始。

6.6.3.1. Xaccess

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

6.6.3.2. Xresources

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

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>.