系统管理指南:打印

LP 打印客户机/服务器过程

本节简要介绍 LP 打印服务使用的打印客户机/服务器过程。

使用打印服务器

打印服务器是一个连接了本地打印机并使该打印机可供网络上的其他系统使用的系统。下图突出显示了打印过程中,打印服务器将打印请求发送到打印机的这部分过程。

图 1–1 打印服务器将打印请求发送到打印机

显示打印服务器分 5 个步骤发送打印请求的图。请参见这 5 个步骤的以下说明。

  1. 打印客户机提交打印请求。

  2. 在打印客户机上处理打印请求。

  3. 打印请求转到打印服务器。

  4. 打印请求转到打印机。

  5. 在打印机上生成打印输出。

使用打印客户机

打印客户机是可将打印请求发送到打印服务器的系统。

下图突出显示了打印过程中,用户从打印客户机提交打印请求的这部分过程。

图 1–2 用户从打印客户机提交打印请求

显示用户提交打印请求时所发生情况的图。请参见下节有关此 5 步的说明。

LP 打印服务使用的打印客户机过程

下图说明从用户启动请求开始直到完成打印请求打印的打印请求过程。

图 1–3 打印客户机过程的概述

显示分 5 个步骤的打印客户机过程的图。请参见这 5 个步骤的以下说明。

  1. 用户从打印客户机提交打印请求。

  2. 打印命令检查打印配置资源的分层结构,以确定将打印请求发送到的位置。

  3. 打印命令将打印请求直接发送到适当的打印服务器。打印服务器可以是接受 Berkley 软件分发 (Berkley Software Distribution, BSD) 打印协议的任何服务器,其中包括 System V 发行版 4 (System V Release 4, SVR4) 或 LP 打印服务器和基于 BSD LPD 的打印服务器,以及接受 IPP 的服务器。

  4. 打印服务器将打印请求发送到适当的打印机。

  5. 完成对打印请求的打印。

本地打印的工作原理

打印请求会沿用客户机和服务器是单独系统时的路径。请求始终沿用相同的路径从客户机流向服务器。

下图说明了用户提交请求以在本地打印机(它是连接到用户系统的打印机)上打印 PostScript 文件时所发生的情况。本地系统上的 lpsched 守护进程会进行所有的处理。

此处理可能包括以下内容:

打印机接口程序可执行以下操作:

图 1–4 本地打印过程

周围的文字对图进行了描述。

LP 打印服务如何管理文件和调度本地打印请求

LP 打印服务有一个名为 lpsched 的调度程序守护进程。该调度程序守护进程使用有关打印机设置和配置的信息更新 LP 系统文件。

lpsched 守护进程调度打印服务器上的所有本地打印请求,如下图所示。用户可以从应用程序或从命令行发出请求。此外,调度程序还会跟踪打印服务器上打印机和过滤器的状态。打印机完成请求后,调度程序会调度打印服务器上排在队列中的下一个请求(如果存在下一个请求)。

图 1–5 LP 打印服务打印调度过程

周围的文字对图进行了描述。

在不重新引导系统的情况下,您就可以使用 svcadm disable application/print/server 命令停止调度程序。然后,使用 svcadm enable application/print/server 命令重新启动调度程序。每个系统的调度程序会管理通过 lp 命令向系统发出的请求。

远程打印的工作原理

下图说明了打印客户机上的用户将打印请求提交到基于 LPD 的打印服务器时发生的情况。该命令会打开一个连接,并直接处理它自己与打印服务器的通信。

显示打印客户机将打印请求发送到基于 LPD 的打印服务器(在此接受打印请求、对打印请求进行假脱机处理,并安排打印)的图。

下图显示了基于 LPD 的打印客户机如何将打印请求提交到打印服务器。lpd 守护进程可处理打印请求的本地部分和与打印服务器的连接。在打印服务器上,inetd 进程会等待网络打印请求,并启动协议适配器为该请求提供服务。协议适配器与 lpsched 守护进程(处理打印服务器上的请求)进行通信。

图 1–6 远程打印过程

周围的文字对图进行了描述。

下图说明了打印客户机上的用户将打印请求提交到 Solaris 打印服务器时发生的情况。打印客户机上的打印命令通过直接与打印服务器进行通信来处理每个打印请求的本地部分。

图 1–7 如何处理打印请求

周围的文字对图进行了描述。

打印服务器上的 inetd 进程可以监视网络打印请求,并启动协议适配器,以便与打印服务器上处理打印请求的 lpsched 守护进程进行通信。