在启动时,X 终端从网络上的远程主机检索文件(包括其 X 服务器软件)。终端启动后,X 服务器软件将控制输入、显示、本地客户端和 X 协议通信。X 服务器软件在 X 终端上执行,因此不必与驻留它的主机上的软件兼容。
远程主机上一起使用 tftp(简单文件传输协议)和 BootP(引导协议服务器),以允许 X 终端通过网络检索其 X 服务器软件和配置文件。这两种服务通常由 inetd(Internet 守护进程)启动。
X 终端通电后,如果配置为从网络启动,它将使用 BootP(TCP/IP 引导协议)发送广播消息。此引导消息将包含 X 终端的硬件(以太网)地址,引导主机使用该地址来响应引导请求。
当远程主机收到引导请求时,inetd(监听 /etc/services 中指定的端口)启动 /etc/inetd.conf 中指定的 BootP 守护进程。
在 inetd.conf 文件中,创建或取消注释引用 TFTP 和 BootP 的行。以下示例中 tftpd 条目的最后一个参数是包含 X 终端所需文件的目录路径。虽然目录名称不是强制性的,但出于安全原因,它们应始终存在,因为 tftp 访问将仅限于指定目录中的文件。
来自示例文件 /etc/inetd.conf
# tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers". tftp dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.tftpd /usr/X11/lib/X11/ncd/ bootps dgram udp wait root /usr/sbin/tcpd /usr/sbin/in.bootpd
激活后,主机上的 BootP 服务器守护进程将读取其数据库文件 /etc/bootptab。必须在此文件中为 X 终端放置一个条目。每个条目都包含一组用“:”字符分隔的标记。主机名必须是条目中的第一个标记。
有用的 bootptab 标记
引导文件主目录(例如 /usr/X11/lib/X11/ncd/)。
X 终端的地址(例如 10.0.0.1)。
子网掩码(例如 255.0.0.0)。要理解子网掩码和其他 IP 网络原理的用法,请查阅 Linux NET-3(网络)HOWTO 文档。
网关的 IP 地址(例如 10.0.0.1)。
硬件类型 - 在此示例中为以太网。
X 终端的硬件地址(6 字节以太网地址)
根据 bootptab UNIX 手册页,“ha”标记必须在“ht”标记之前。X 终端的以太网地址在终端首次通电时显示。该地址显示为一系列由冒号分隔的 6 个两位十六进制数字(例如 00:00:A7:12:26:19)。
表延续或 BootP 数据库中另一个条目的标签。请参见以下示例。
域名服务器的 IP 地址(例如 10.0.0.3)。如果 DNS 不用于主机名解析,则不需要。
X 终端引导文件的名称(通常终端型号用作 X 服务器文件名,例如 Xncd19r)。
以下是 Boot 协议服务器数据库文件 /etc/bootptab 的示例。字符“\”用于转义行尾字符。
# This is an entry (here given the name default) # with information common to all BootP clients default:hd=/usr/X11/lib/X11/ncd/:\ ds=10.0.0.3:\ sm=255.0.0.0:\ gw=10.0.0.1: # X terminal entry with hostname myxterm # Notice the tc tag reference to the entry default myxterm:ht=ethernet:\ ha=0x0000a7122619:\ ip=10.0.0.2:\ tc=default:\ bf=Xncd19r:
当在 bootptab 文件中找到与引导请求中的硬件地址匹配的条目时,bootpd 将发送响应,其中包含来自匹配条目的相应 IP 地址。然后可以使用 TFTP 通过 IP 进行文件传输。
可以通过在引导主机上的 /etc/hosts 文件中创建条目,为 X 终端分配主机名。此文件用于将主机名映射到 IP 地址。在本示例中,X 终端(地址 10.0.0.2)已被分配主机名“myxterm”。
10.0.0.1 linuxhost # The boot host 10.0.0.2 myxterm # X terminal