X 显示管理器(XDM) 是一个X视窗系统用于进行登陆会话管理的可选项。 这个可以应用于多种情况下,包括小 “X Terminals”, 桌面,大网络显示服务器。既然 X 视窗系统不受网络和协议的限制,那对于通过网络连接起来的运行 X 客户端和服务器端的不同机器, 就会有很多的可配置项。 XDM 提供了一个选择要连接到哪个显示服务器的图形接口,只要键入如登陆用户名和密码这样的验证信息。 您也可以把 XDM 想象成与 getty(8) 工具一样。为用户提供了同样功能。它可以完成系统的登陆任务, 然后为用户运行一个会话管理器 (通常是一个 X 视窗管理器)。接下来 XDM 就等待这个程序退出,发出信号用户已经登陆完成,应当退出屏幕。 这时, XDM 就可以为下一个登陆用户显示登陆和可选择屏幕。
XDM 精灵程序在 /usr/X11R6/bin/xdm 中。您可以在任何时候 用 root 来运行这个程序,在本地机器上,它将启动管理X的画面。如果要 XDM 每次机器一启动就开始运行, 一个简单的办法是在 /etc/ttys 中加入一个记录。在默认的 /etc/ttys 文件中用于运行 XDM 守护程序的一行是这样的: ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure 默认情况下,这个记录是关闭的,这个程序将管理的终端名称是 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 被修改成用于侦听远程连接。Xresources 是一个默认的用来显示选项和登陆屏幕的应用程序文件。这就是您能够定制登陆程序的外观的地方。这个格式与 X11 文档中描述的默认应用程序文件是一样的。Xservers 是一个选择者应当提供的作为可选的远程显示列表。Xsession 是一个用户登陆后针对 XDM 的默认会话脚本。通常,在 ~/.xsession 中每个用户将有一个可定制的会话脚本。Xsetup_* 在显示选择者或登陆接口之前,这些将被自动运行。 这是一个每个显示都要用到的脚本,叫做 Xsetup_, 后面会跟一个本地显示的数字(比如 Xsetup_0)。典型的,这些脚本将在后台 (如 xconsole)运行一个或两个程序。xdm-config 以应用程序默认值的形式, 提供了在安装时所使用的普适的显示设置。xdm-errors 这个文件包含了 XDM 正设法运行的的 X 服务器 的输出。 如果 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 提供了许多视觉上的改进和局部的修饰,同样能让用户在启动时能选择他们喜欢的窗口管理器。