1. 关于在 Oracle Solaris 操作系统中进行打印的简介
Oracle Solaris Print Manager 说明
4. 使用 Oracle Solaris Print Manager 设置和管理打印机(任务)
12. 在 Oracle Solaris 操作系统中打印(参考)
本节简要介绍 LP 打印服务使用的打印客户机/服务器过程。
打印服务器是一个连接了本地打印机并使该打印机可供网络上的其他系统使用的系统。下图突出显示了打印过程中,打印服务器将打印请求发送到打印机的这部分过程。
图 1-2 打印服务器将打印请求发送到打印机
打印客户机提交打印请求。
在打印客户机上处理打印请求。
打印请求转到打印服务器。
打印请求转到打印机。
在打印机上生成打印输出。
打印客户机是可将打印请求发送到打印服务器的系统。
下图突出显示了打印过程中,用户从打印客户机提交打印请求的这部分过程。
图 1-3 用户从打印客户机提交打印请求
下图说明从用户启动请求开始直到完成打印请求打印的打印请求过程。
图 1-4 打印客户机过程的概述
用户从打印客户机提交打印请求。
打印命令检查打印配置资源的分层结构,以确定将打印请求发送到的位置。
打印命令将打印请求直接发送到适当的打印服务器。打印服务器可以是接受 Berkley 软件分发 (Berkley Software Distribution, BSD) 打印协议的任何服务器,其中包括 System V 发行版 4 (System V Release 4, SVR4) 或 LP 打印服务器和基于 BSD LPD 的打印服务器,以及接受 IPP 的服务器。
打印服务器将打印请求发送到适当的打印机。
完成对打印请求的打印。
打印请求会沿用客户机和服务器是单独系统时的路径。请求始终沿用相同的路径从客户机流向服务器。
下图说明了用户提交请求以在本地打印机(它是连接到用户系统的打印机)上打印 PostScript 文件时所发生的情况。本地系统上的 lpsched 守护进程会进行所有的处理。
此处理可能包括以下内容:
将打印机和内容类型匹配
确定缺省打印机以及过滤请求
启动指定的打印机接口程序
打印机接口程序可执行以下操作:
打印标题页。
捕捉打印机故障。
确定打印机故障策略以重置、继续或重新开始打印作业。
最后,接口程序会使用 lpcat 程序将打印请求下载到本地打印机的串行端口。
图 1-5 本地打印过程
LP 打印服务有一个名为 lpsched 的调度程序守护进程。该调度程序守护进程使用有关打印机设置和配置的信息更新 LP 系统文件。
lpsched 守护进程调度打印服务器上的所有本地打印请求,如下图所示。用户可以从应用程序或从命令行发出请求。此外,调度程序还会跟踪打印服务器上打印机和过滤器的状态。打印机完成请求后,调度程序会调度打印服务器上排在队列中的下一个请求(如果存在下一个请求)。
图 1-6 LP 打印服务打印调度过程
在不重新引导系统的情况下,您就可以使用 svcadm disable application/print/server 命令停止调度程序。然后,使用 svcadm enable application/print/server 命令重新启动调度程序。每个系统的调度程序会管理通过 lp 命令向系统发出的请求。
下图说明了打印客户机上的用户将打印请求提交到基于 LPD 的打印服务器时发生的情况。该命令会打开一个连接,并直接处理它自己与打印服务器的通信。
图 1-7 打印客户机如何向基于 LPD 的打印服务器发送打印请求
下图显示了基于 LPD 的打印客户机如何将打印请求提交到打印服务器。lpd 守护进程可处理打印请求的本地部分和与打印服务器的连接。在打印服务器上,inetd 进程会等待网络打印请求,并启动协议适配器为该请求提供服务。协议适配器与 lpsched 守护进程(处理打印服务器上的请求)进行通信。
图 1-8 远程打印过程
下图说明了打印客户机上的用户将打印请求提交到打印服务器时发生的情况。打印客户机上的打印命令通过直接与打印服务器进行通信来处理每个打印请求的本地部分。
图 1-9 如何处理打印请求
打印服务器上的 inetd 进程可以监视网络打印请求,并启动协议适配器,以便与打印服务器上处理打印请求的 lpsched 守护进程进行通信。