X 显示管理器(XDM) 是一个X视窗系统用于进行登陆会话管理的可选项。 这个可以应用于多种情况下,包括小 “X Terminals”, 桌面,大网络显示服务器。既然 X 视窗系统不受网络和协议的限制, 那对于通过网络连接起来的运行 X 客户端和服务器端的不同机器, 就会有很多的可配置项。 XDM 提供了一个选择要连接到哪个显示服务器的图形接口, 只要键入如登陆用户名和密码这样的验证信息。
您也可以把 XDM 想象成与 getty(8) 工具一样(see Section 20.3.2 for details)。为用户提供了同样功能。它可以完成系统的登陆任务, 然后为用户运行一个会话管理器 (通常是一个 X 视窗管理器)。接下来 XDM 就等待这个程序退出,发出信号用户已经登陆完成,应当退出屏幕。 这时, XDM 就可以为下一个登陆用户显示登陆和可选择屏幕。
XDM 精灵程序在 /usr/X11R6/bin/xdm 中。您可以在任何时候 用 root 来运行这个程序, 在本地机器上,它将启动管理X的画面。如果要 XDM 每次机器一启动就开始运行, 一个简单的办法是在 /etc/ttys 中加入一个记录。 有关这个文件的更多的格式和使用方法,可以看看 Section 20.3.2.1。在默认的 /etc/ttys 文件中用于运行 XDM 守护程序的一行是这样的:
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
默认情况下,这个记录是关闭的,要启用它, 您需要把第5部分的 off 改为 on 然后按照 Section 20.3.2.2 的指导 重新启动 init(8)。第一部分,这个程序将管理的终端名称是 ttyv8。这意味着 XDM 将运行在第9个虚拟终端上。
XDM 的配置目录是在 /usr/X11R6/lib/X11/xdm中。在这个目录中, 您会看到几个用来改变 XDM 行为和外观的文件。您会找到这些文件:
文件 | 描述 |
---|---|
Xaccess | 客户端授权规则。 |
Xresources | 默认的X资源值。 |
Xservers | 远程和本地显示管理列表。 |
Xsession | 用于登陆的默认的会话脚本。 |
Xsetup_* | 登陆之前用于加载应用程序的脚本。 |
xdm-config | 运行在这台机器上的所有显示的全局配置。 |
xdm-errors | 服务器程序产生的错误。 |
xdm-pid | 当前运行的 XDM 的进程 ID。 |
当 XDM 运行时, 在这个目录中有几个脚本和程序可以用来设置桌面。 这些文件中的每一个的用法都将被简要地描述。 这些文件的更详细的语法和用法在 xdm(1) 中将有详细描述。
默认的配置是一个矩形的登陆窗口,上面有机器的名称, “Login:” 和 “Password:”。如果您想设计您自己个性化的 XDM 屏幕,这是一个很好的起点。
连接到 XDM 的用来控制显示的协议 叫做 X 显示管理连接协议(XDMCP)。 这个文件是一个用来控制来自远程机器的XDMCP连接。默认的, 它允许任何客户端连接,但那没有用,除非 xdm-config 被修改成用于侦听远程连接。
这是一个默认的用来显示选项和登陆屏幕的应用程序文件。这 就是您能够定制登陆程序的外观的地方。这个格式与 X11 文档中描述的默认应用 程序文件是一样的。
这是一个选择者应当提供的作为可选的远程显示列表。
这是一个用户登陆后针对 XDM 的默认会话脚本。通常,在 ~/.xsession 中每个用户将有一个可定制的会话脚本。
在显示选择者或登陆接口之前,这些将被自动运行。 这是一个每个显示都要用到的脚本,叫做 Xsetup_, 后面会跟一个本地显示的数字(比如 Xsetup_0)。典型的,这些脚本将在后台 (如 xconsole)运行一个或两个程序。
此文件以应用程序默认值的形式, 提供了在安装时所使用的普适的显示设置。
这个文件包含了正在设法运行的 XDM 的X server输出。如果一个 XDM 正设法运行的显示由于某种原因被挂起, 那这是一个寻找错误信息的好地方。 这些信息会在每一个会话的基础上被写到用户的 ~/.xsession-errors 文件中。
对于其他客户端来说,为了连接到显示服务器,您将必须编辑访问控制规则, 然后启用连接侦听。默认的这些被设置成比较保守的值。 要让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) 的联机手册。
有几个替换默认 XDM程序的方案。它们是, 上一节已经描述过的kdm (与 KDE捆绑在一起)。 kdm 提供了许多视觉上的改进和局部的修饰, 同样能让用户在启动时能选择他们喜欢的窗口管理器。