X 显示管理器(XDM) 是一个X视窗系统用于进行登录会话管理的可选项。 这个可以应用于多种情况下,包括小 “X Terminals”, 桌面,大网络显示服务器。既然 X 视窗系统不受网络和协议的限制, 那对于通过网络连接起来的运行 X 客户端和服务器端的不同机器, 就会有很多的可配置项。 XDM 提供了一个选择要连接到哪个显示服务器的图形接口, 只要键入如登录用户名和密码这样的验证信息。
您也可以把 XDM 想象成与 getty(8) 工具一样(see 第 27.3.2 节 “配置” for details)。为用户提供了同样功能。它可以完成系统的登录任务, 然后为用户运行一个会话管理器 (通常是一个 X 视窗管理器)。接下来 XDM 就等待这个程序退出,发出信号用户已经登录完成,应当退出屏幕。 这时, 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个虚拟终端上。
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 屏幕,这是一个很好的起点。
用以连接由
XDM 所控制的显示设备的协议,
叫做 X 显示管理器连接协议 (XDMCP)。
这个文件是一组用以控制来自远程计算机的 XDMCP 连接的规则。
除非您修改 xdm-config
使其接受远程连接, 否则其内容将被忽略。 默认情况下,
它不允许来自任何客户端的连接。
在显示选择者或登录接口之前,这些将被自动运行。
这是一个每个显示都要用到的脚本,叫做
Xsetup_
,
后面会跟一个本地显示的数字(比如
Xsetup_0
)。典型的,这些脚本将在后台
(如 xconsole
)运行一个或两个程序。
对于其他客户端来说, 如果希望它们能连接到显示服务器,您就必须编辑访问控制规则,
并启用连接侦听。 默认情况下, 这些都预设为比较保守的值。
要让 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) 的联机手册, 以了解进一步的细节。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.