6.6. X 显示管理器
上一页 | 第 6 章 X Window 系统 | 下一页

## 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`”。 在默认的 `/etc/ttys` 文件中已经包含了在虚拟终端上运行 XDM 服务的示范配置：

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

默认情况下，这个记录是关闭的，要启用它， 您需要把第5部分的 `off` 改为 `on` 然后按照 第 27.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 的进程 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 提供了许多视觉上的改进和局部的修饰， 同样能让用户在启动时能选择他们喜欢的窗口管理器。

上一页 | 上一级 | 下一页
6.5. 在 X11 中使用字体 | 起始页 | 6.7. 桌面环境

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

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