| 任务 | 说明 | 参考 | 
|---|---|---|
| 检查打印机的状态。 | 使用 lpstat 命令可以检查所有打印机或特定打印机的状态。使用此命令可以确定哪些打印机可用,并可以检查这些打印机的特征。 | |
| 停止打印调度程序。 | 如果打印调度程序停止接受打印请求,则您可能需要先停止再重新启动打印调度程序。 | |
| 重新启动打印调度程序。 | 停止打印调度程序后,您将需要重新启动打印调度程序,以便打印机可以开始接受请求。 | |
| 使用选项启动打印调度程序。 | 借助 Solaris 管理工具 (Solaris Management Facility, SMF) 将选项传递给打印调度程序有两种方法。您可以设置用于调用期间的选项,也可以设置系统引导后保留的选项。 | 
许多日常的打印机管理任务都需要有关 LP 打印服务或特定打印机的状态信息。例如,您可以确定哪些打印机可用。您还可以检查这些打印机的特征。您可以使用 lpstat 命令查找有关 LP 打印服务或特定打印机的状态信息。
如果使用了 PPD 文件创建或修改打印队列,则在 lpstat 输出中将列出特定的 PPD 文件。如果在创建打印队列时未指定 PPD 文件,则 lpstat 输出中的 PPD 项是 none。
 如何检查打印机的状态
如何检查打印机的状态登录到网络上的任何系统。
检查打印机的状态。
此处仅显示最常用的选项。有关其他选项,请参见 lpstat(1) 手册页。
| $ lpstat [-d] [-p] printer-name [-D] [-l] [-t] | 
显示系统的缺省打印机。
显示打印机处于活动状态还是空闲状态、启用或禁用打印机的时间以及打印机是否正在接受打印请求。
您可以使用此命令指定多个打印机名称。使用空格或逗号来分隔打印机名称。如果您使用空格,请用引号将打印机名称列表引起来。如果不指定 printer-name,则会显示所有打印机的状态。
显示指定 printer-name 的说明。
显示指定 printer-name 的特征。
显示有关 LP 打印服务的状态信息,包括所有打印机的状态,如它们是否处于活动状态以及是否正在接受打印请求。
以下示例说明如何显示系统的缺省打印机。
| $ lpstat -d system default destination: luna | 
以下示例说明如何显示打印机 luna 的状态。
| $ lpstat -p luna printer luna is idle. enabled since Jul 12 11:17 2001. available. | 
以下示例说明如何显示打印机 asteroid 和 luna 的说明。
| $ lpstat -p "asteroid luna" -D printer asteroid faulted. enabled since Jan 5 11:35 2004. available. unable to print: paper misfeed jam Description: Printer by break room printer luna is idle. enabled since Jan 5 11:36 2004. available. Description: Printer by server room. | 
以下示例说明如何显示打印机 luna 的特征。
| $ lpstat -p luna -l
printer luna is idle. enabled since Thu Jul 12 15:02:32 PM PDT
        Form mounted: 
        Content types: postscript
        Printer types: PS
        Description:
        Connection: direct
        Interface: /usr/lib/lp/model/standard
				PPD: none
        After fault: continue
        Users allowed:
                (all)
        Forms allowed:
                (none)
        Banner not required
        Character sets:
							 (none)
				Default pitch:
        Default page size: 80 wide 66 long
        Default port settings: | 
打印调度程序 lpsched 处理打印服务器上的打印请求。但是,打印调度程序有时可能会在系统上停止运行,从而停止接受或打印打印请求。将本地打印机添加到系统时,lpadmin 命令自动启用 lpsched 服务;删除最后一台本地打印机时,该命令将禁用此服务。以下过程描述如何停止和重新启动打印调度程序。如果打印调度程序停止运行时正在对打印请求进行打印,则重新启动打印调度程序时将完整打印该打印请求。
 如何停止打印调度程序
如何停止打印调度程序成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
确定打印调度程序是否正在运行。
| # svcs application/print/server | 
您还可以使用 lpstat -r 命令确定打印调度程序是否正在运行。
如果打印调度程序未运行,则显示消息 scheduler is not running。
如果打印调度程序正在运行,请将其停止。
| # svcadm disable application/print/server | 
您还可以使用 lpshut 命令停止打印调度程序。
 如何重新启动打印调度程序
如何重新启动打印调度程序成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
确定打印调度程序是否正在运行。
| # svcs application/print/server | 
您还可以使用 lpstat -r 命令确定打印调度程序是否正在运行。
如果打印调度程序未运行,则显示消息 scheduler is not running。
如果打印调度程序未运行,请将其启动。
| # svcadm enable application/print/server | 
您还可以使用 /usr/lib/lpsched 命令启动打印调度程序。有关使用 /usr/lib/lpsched 命令与使用 svcadm enable application/print/server 命令启动打印调度程序之间差异的更多信息,请参见使用选项启动打印调度程序。
借助 SMF 将选项传递给打印调度程序有两种方法:
修改仅用于调用期间的选项值。
当您仅希望在调用期间将选项传递给打印调度程序时,请将 /usr/lib/lpsched 命令与相应选项一起使用。在设置选项之前,请参见 lpsched(1M) 手册页,以了解有关这些缺省值和对其进行更改的原因的更多信息。
在系统重新引导过程中或者重新启动打印调度程序时维护选项值。
打印服务器的 SMF 清单包含打印服务器启动脚本所用的属性。这些属性值传递给打印调度程序,并用来表示通过使用 svccfg 命令设置的选项。
这些属性如下所示:
lpsched/num_filters
lpsched/num_notifiers
lpsched/fd_limit
lpsched/reserved_fds
未使用 svccfg 命令设置的任何选项都将使用打印调度程序中的缺省值。有关使用 svccfg 命令的更多信息,请参见 svccfg(1M) 手册页。
 如何设置仅用于调用期间的打印选项值
如何设置仅用于调用期间的打印选项值成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
设置选项值。
| # /usr/lib/lpsched option value | 
指定可以在打印服务器上运行的并发慢速过滤器数。
指定可以在打印服务器上运行的并发通知进程数。
指定 lpsched 进程的文件描述符资源限制。
指定调度程序为重负载下的内部通信保留的文件描述符数。
此示例说明如何将过滤器数设置为 2。其余选项将使用打印调度程序中的缺省值。
| # /usr/lib/lpsched -f 2 | 
要使用打印调度程序中的缺省选项,请运行不带任何选项的 /usr/lib/lpsched 命令。
请注意,使用 /usr/lib/lpsched 命令启动打印调度程序时,不会使用通过 svccfg 命令设置的值。
 如何设置在系统重新引导过程中保留的打印机选项值
如何设置在系统重新引导过程中保留的打印机选项值成为超级用户 lp 或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
设置一个或所有选项。
| # svccfg svc:> select svc:/application/print/server svc:/application/print/server> setprop property = value . . . svc:/application/print/server> quit | 
对于要设置的每个选项,请在单独的行上重复 setprop property = value 命令。
通过显示打印服务器属性的当前值,验证是否已正确设置了选项。
| # svcprop svc:/application/print/server | 
重新启动打印调度程序。
如果打印调度程序未运行,请使用以下命令:
| # svcadm refresh svc:/application/print/server # svcadm enable svc:/application/print/server | 
如果打印调度程序正在运行,请使用以下命令:
| # svcadm refresh svc:/application/print/server # svcadm restart svc:/application/print/server | 
要确定打印调度程序是否正在运行,请运行 svcs application/print/server 命令。
此示例说明如何将过滤器数设置为 1。在系统重新引导过程中或者重新启动打印调度程序时,此选项将保留其设置。
| # svccfg svc:> select svc:/application/print/server svc:/application/print/server> setprop lpsched/num_filters = count: 1 svc:/application/print/server> quit | 
此示例说明如何设置所有选项。
| # svccfg svc:> select svc:/application/print/server svc:/application/print/server> setprop lpsched/num_filters = count: 1 svc:/application/print/server> setprop lpsched/num_notifiers = count: 1 svc:/application/print/server> setprop lpsched/fd_limit = count: 4096 svc:/application/print/server> setprop lpsched/reserved_fds = count: 2 svc:/application/print/server> quit | 
以下是设置所有选项的样例脚本。
| #!/bin/ksh svccfg <<-EOF select svc:/application/print/server setprop lpsched/num_filters = count: 1 setprop lpsched/num_notifiers = count: 1 setprop lpsched/fd_limit = count: 4096 setprop lpsched/reserved_fds = count: 2 EOF |