本章提供有关使用 Solaris Print Manager 或 LP 打印服务计划打印机设置的信息。
下面列出了本章中的信息:
以下各节介绍在 Oracle Solaris 发行版中设置和管理打印机时可以选择使用的打印服务、工具和协议。每个工具、服务和协议都有优点和缺点。有些工具和服务更适合于特定用途,而其他工具和服务可用于您可能执行的所有或大多数打印任务。除非另有说明,否则以下打印工具都可用于 Oracle Solaris 10 和兼容的 Oracle Solaris 发行版。此外,所有这些打印服务和工具都使用 LDAP、NIS 和 NIS+。
本节介绍可用于执行打印机设置和相关任务的工具。
Oracle Solaris 发行版中提供以下工具:
Solaris Print Manager
lpadmin 命令
PPD 文件管理器 (ppdmgr)
Solaris Print Manager
Solaris Print Manager /usr/sbin/printmgr 是一个基于 Java 技术的 GUI,可用于对直接连接的本地和远程打印机,以及网络连接的本地和远程打印机执行设置任务。
对于直接连接的打印机和网络连接的打印机,您可以执行以下任务:
创建打印队列。
修改打印队列。
删除打印队列。
对于远程打印机,您可以使用 Solaris Print Manager 来定义对打印队列的访问权限。请注意,远程打印机是具有在本地系统以外的其他系统上定义的打印队列的打印机。有关本书中常用的术语的更多信息,请参见词汇表。
lpadmin 命令
lpadmin 命令 /usr/sbin/lpadmin 是一个命令行工具,可用于执行使用 Solaris Print Manager 执行的所有任务。使用 Solaris Print Manager 无法执行的多项其他任务可以使用 lpadmin 命令来执行。有关更多信息,请参见打印机定义。
PPD 文件管理器
您可以使用 PPD 文件管理器实用程序 /usr/sbin/ppdmgr 管理 Oracle Solaris 系统的 PPD 文件。PPD 文件管理实用程序是用于向系统的 PPD 文件系统信息库添加 PPD 文件的首选方法。有关更多信息,请参见第 11 章。
对于打印机设置,Solaris Print Manager 工具比 lpadmin 命令使用起来更加容易和方便。在大多数情况下,这些工具提供了足够的打印机属性。但是,在使用无法使用 Solaris Print Manager 定义的打印机属性设置打印机时,您可能需要使用 lpadmin 命令。
规划打印机设置和管理包括以下活动:
定义打印机的属性,如打印机名称、打印机描述和打印机端口
选择打印机生产商、型号和驱动程序(在使用 PPD 文件设置打印机时)
选择打印机类型和文件内容类型(在不使用 PPD 文件的情况下设置打印机时)
确定要使用的 PPD 文件(在使用 PPD 文件设置打印机时)
设置缺省的打印机目标
确定是否要打印标题页
限制用户对打印机的访问
设置打印机类
设置故障通知
设置故障恢复
在网络中设置打印机的目的就是让用户可以访问一个或多个打印机。作为管理员,您必须确定每个打印机的最佳使用方法:专用于一个系统还是可供多个系统使用。在网络环境中,将您的打印机分布在几个打印服务器上。设置几个打印服务器的优点是,当一个打印服务器出现问题时,您可以将打印请求路由到其他打印服务器。
如果您使用集中式打印配置,为了方便起见或为了改善响应速度,您仍可以将打印机连接到用户系统。连接到用户系统的打印机仍可供网络中的其他系统使用。
下图显示了一个示例,说明如何在使用集中式打印配置的情况下,仍将打印机连接到用户的系统。
打印软件使用特定资源定位打印机名称和打印机配置信息。可以配置打印机软件来使用命名服务通告打印机。命名服务可用于存储网络上所有打印机的打印机配置信息。命名服务 LDAP、NIS 或 NIS+ 简化了打印机配置的维护。当您在命名服务中添加打印机时,网络上的所有打印客户机都可以访问该打印机。
命名服务转换器文件 /etc/nsswitch.conf 中的 printers 数据库为网络上的打印客户机提供了集中的打印机配置信息。
通过将 printers 数据库和对应的信息源包括在命名服务转换器文件中,打印客户机将自动具有访问打印机配置信息的权限,而无需将该信息添加到其自己的系统中。
files、LDAP、NIS 或 NIS+ 环境的 /etc/nsswitch.conf 文件中的缺省 printers 项在下表中描述。
命名服务类型 |
缺省 printers 项 |
---|---|
files |
printers: user files |
ldap |
printers: user files ldap |
nis |
printers: user files nis |
例如,如果您的命名服务是 NIS,则按此顺序在以下源中搜索有关打印客户机的打印机配置信息:
user-表示用户的 $HOME/.printers 文件
files-表示 /etc/printers.conf 文件
nis-表示 printers.conf.byname 表
有关更多信息,请参见 nsswitch.conf(4) 手册页和《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。
通过将打印机信息添加到命名服务,可以使网络上的所有系统能够访问打印机。这样做可使打印机管理更容易,因为这将使有关打印机的所有信息集中在一起。
命名服务配置 |
集中打印机信息的操作 |
---|---|
使用命名服务 |
将打印机添加到 LDAP、NIS 或 NIS+ 数据库,可以使网络上的所有系统能够访问打印机。 |
不使用命名服务 |
添加打印机时,仅会将打印机信息添加到打印机服务器的配置文件。打印客户机不会自动获取有关打印机的信息。 您必须将打印机信息添加到需要使用打印机的每个打印客户机。 |
在 LDAP 命名服务中管理打印机信息时,请牢记以下内容:
Solaris Print Manager 使用 ldapclient 命令确定缺省的 LDAP 服务器名称。如果指定了多个服务器,则自动选择第一个服务器。有关更多信息,请参见 ldapclient(1M)。
Solaris Print Manager 始终显示来自当前 LDAP 服务器的打印机项。如果当前 LDAP 服务器不是域的 LDAP 主服务器,则显示的打印机列表可能不是当前打印机列表。LDAP 副本服务器可能尚未由主服务器更新,因此它与主服务器不同步。副本服务器可以具有各种更新复制协议。例如,在主服务器上进行更改后,既可立即更新副本服务器,也可以每天更新一次。
如果选定的 LDAP 服务器是 LDAP 副本服务器,则任何更新都是指对主服务器进行的更新。此情况再次表明,打印机列表可能与主服务器不同步。例如,在从主服务器更新副本之前,已删除的打印机可能仍出现在显示的打印机列表中。
用户可以使用 LDAP 命令行实用程序 ldapadd 和 ldapmodify 更新目录中的打印机项。但是,不建议使用此方法。如果使用这些实用程序,则用户必须确保 printer-name 属性值在 ou=printers 容器中是唯一的。如果 printer-name 属性值不是唯一的,则 Solaris Print Manager 或 lpset 命令进行修改而产生的结果可能是不可预测的。
下图突出显示了打印过程中,打印软件检查打印机配置资源的分层结构来确定打印请求发送位置的这部分过程。
用户通过使用 lp 或 lpr 命令从打印客户机提交打印请求。用户可以按以下三种样式之一指定目标打印机名称或打印机类:
原子样式,即 lp 命令和选项后跟打印机名称或打印机类,如以下示例所示:
% lp -d neptune filename |
POSIX 样式,即打印命令和选项后跟 server: printer,如以下示例所示:
% lpr -P galaxy:neptune filename |
基于上下文的样式,如以下示例所示:
% lpr -d thisdept/service/printer/printer-name filename |
打印命令按如下方式查找打印机和打印机配置信息:
您必须确定哪些系统将具有与其物理连接的本地打印机。您还必须确定哪些系统将使用其他系统上的打印机。连接有本地打印机且使该打印机可供网络中其他系统使用的系统称为打印服务器。将其打印请求发送到打印服务器的系统称为打印客户机。
LP 打印服务软件在 Oracle Solaris OS 中提供打印服务。除了将打印机物理连接到系统外,还必须向 LP 打印服务定义打印机服务器特征。在设置打印服务器后,可以将其他系统设置为打印客户机。
打印服务器和打印客户机可以运行不同版本的 Oracle Solaris 发行版和不同版本的 UNIX 操作系统。运行 Solaris 9 发行版和兼容版本的打印客户机可以打印到运行基于 LPD 的打印服务(如 SunOS 4.1、BSD UNIX 和 Linux 发行版)的打印服务器。此外,运行基于 lpd 的打印服务的打印客户机可以打印到运行 Solaris 9 发行版和兼容版本的打印服务器。
下图显示了运行 Oracle Solaris 发行版和基于 LPD 的打印服务的系统网络上的打印配置。
您可以将打印机连接到独立的系统或网络上的任何系统。只要包含打印机的任何联网系统具有足够的资源来管理打印负载,它就可以是打印服务器。
假脱机空间是用于存储和处理打印队列中的请求的磁盘空间量。在决定将哪些系统指定为打印服务器时,假脱机空间是要考虑的最重要的因素。用户提交要打印的文件时,这些文件一直存储在 /var/spool/lp 目录中,直到其打印完为止。/var 目录的大小取决于磁盘的大小和磁盘分区的方式。可以在打印服务器上的 /var 目录中分配假脱机空间,或者可以从文件服务器挂载并通过网络访问它。
如果 /var 不是作为单独的文件系统创建的,则 /var 目录使用根 (/) 文件系统中的空间。在打印服务器上,根 ( /) 文件系统可能没有足够的空间。
在对可能作为打印服务器的系统进行评估时,请考虑其可用磁盘空间。大的假脱机目录可能占用 600 MB 的磁盘空间。在可指定为打印服务器的系统中,评估磁盘空间的大小和分区。
此外,请仔细评估打印客户机系统的打印要求和使用模式。例如,假定一个小组中的用户通常仅打印简短的电子邮件(这些邮件是简单的 ASCII 文件,没有复杂的格式要求)。在此示例中,将 20 到 25 MB 磁盘空间分配给 /var 目录的打印服务器可能已足够。但是,如果许多打印客户机用户要打印大文档、位图或光栅图像,则这些用户很可能会经常用尽假脱机空间。用户无法对其要打印的作业进行排队时,工作流将中断。对更多假脱机空间的请求,可能会需要您添加用于假脱机的磁盘空间,或者将其他系统指定为打印服务器。
如果打印服务器的 /var 目录过小,但有较大的文件系统可用时,可以在 /var 目录上挂载这个较大的文件系统以获得附加的假脱机空间。有关挂载文件系统和编辑 vfstab 文件的信息,请参见《系统管理指南:设备和文件系统》中的“挂载文件系统”。
打印服务器不需要附加内存。但是,您可能会发现在管理打印请求时,更多的内存可提高性能。
在打印服务器上分配的交换空间应该足以处理 LP 打印服务的要求。有关如何增加交换空间的信息,请参见《系统管理指南:设备和文件系统》中的第 21 章 “配置其他交换空间(任务)”。
为达到最佳性能,打印服务器应具有硬盘和本地 /var 目录。您应该在本地硬盘上为打印服务器挂载假脱机空间。如果打印服务器有其自己的硬盘和本地 /var 目录,则打印速度要快得多。此外,您还可以更准确地预测处理打印请求所需的时间。