系统管理指南:打印

管理 LP 打印调度程序(任务图)

任务 

说明 

参考 

检查打印机的状态。 

使用 lpstat 命令可以检查所有打印机或特定打印机的状态。使用此命令可以确定哪些打印机可用,并可以检查这些打印机的特征。

如何检查打印机的状态

停止打印调度程序。 

如果打印调度程序停止接受打印请求,则您可能需要先停止再重新启动打印调度程序。 

如何停止打印调度程序

重新启动打印调度程序。 

停止打印调度程序后,您将需要重新启动打印调度程序,以便打印机可以开始接受请求。 

如何重新启动打印调度程序

使用选项启动打印调度程序。 

借助 Solaris 管理工具 (Solaris Management Facility, SMF) 将选项传递给打印调度程序有两种方法。您可以设置用于调用期间的选项,也可以设置系统引导后保留的选项。 

如何设置仅用于调用期间的打印选项值

如何设置在系统重新引导过程中保留的打印机选项值

检查打印机状态

许多日常的打印机管理任务都需要有关 LP 打印服务或特定打印机的状态信息。例如,您可以确定哪些打印机可用。您还可以检查这些打印机的特征。您可以使用 lpstat 命令查找有关 LP 打印服务或特定打印机的状态信息。

如果使用了 PPD 文件创建或修改打印队列,则在 lpstat 输出中将列出特定的 PPD 文件。如果在创建打印队列时未指定 PPD 文件,则 lpstat 输出中的 PPD 项是 none

Procedure如何检查打印机的状态

  1. 登录到网络上的任何系统。

  2. 检查打印机的状态。

    此处仅显示最常用的选项。有关其他选项,请参见 lpstat(1) 手册页。


    $ lpstat [-d] [-p] printer-name [-D] [-l] [-t]
    -d

    显示系统的缺省打印机。

    -p printer-name

    显示打印机处于活动状态还是空闲状态、启用或禁用打印机的时间以及打印机是否正在接受打印请求。

    您可以使用此命令指定多个打印机名称。使用空格或逗号来分隔打印机名称。如果您使用空格,请用引号将打印机名称列表引起来。如果不指定 printer-name,则会显示所有打印机的状态。

    -D

    显示指定 printer-name 的说明。

    -l

    显示指定 printer-name 的特征。

    -t

    显示有关 LP 打印服务的状态信息,包括所有打印机的状态,如它们是否处于活动状态以及是否正在接受打印请求。


示例 8–1 检查打印机的状态

以下示例说明如何显示系统的缺省打印机。


$ lpstat -d
system default destination: luna

以下示例说明如何显示打印机 luna 的状态。


$ lpstat -p luna
printer luna is idle. enabled since Jul 12 11:17 2001. available.

以下示例说明如何显示打印机 asteroidluna 的说明。


$ 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 服务;删除最后一台本地打印机时,该命令将禁用此服务。以下过程描述如何停止和重新启动打印调度程序。如果打印调度程序停止运行时正在对打印请求进行打印,则重新启动打印调度程序时将完整打印该打印请求。

Procedure如何停止打印调度程序

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 确定打印调度程序是否正在运行。


    # svcs application/print/server
    

    您还可以使用 lpstat -r 命令确定打印调度程序是否正在运行。

    如果打印调度程序未运行,则显示消息 scheduler is not running

  3. 如果打印调度程序正在运行,请将其停止。


    # svcadm disable application/print/server
    

    您还可以使用 lpshut 命令停止打印调度程序。

Procedure如何重新启动打印调度程序

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 确定打印调度程序是否正在运行。


    # svcs application/print/server
    

    您还可以使用 lpstat -r 命令确定打印调度程序是否正在运行。

    如果打印调度程序未运行,则显示消息 scheduler is not running

  3. 如果打印调度程序未运行,请将其启动。


    # svcadm enable application/print/server
    

    您还可以使用 /usr/lib/lpsched 命令启动打印调度程序。有关使用 /usr/lib/lpsched 命令与使用 svcadm enable application/print/server 命令启动打印调度程序之间差异的更多信息,请参见使用选项启动打印调度程序

使用选项启动打印调度程序

借助 SMF 将选项传递给打印调度程序有两种方法:

Procedure如何设置仅用于调用期间的打印选项值

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 设置选项值。


    # /usr/lib/lpsched option value
    
    -f num_filters

    指定可以在打印服务器上运行的并发慢速过滤器数。

    -n num_notifiers

    指定可以在打印服务器上运行的并发通知进程数。

    -p fd_limit

    指定 lpsched 进程的文件描述符资源限制。

    -r reserved_fds

    指定调度程序为重负载下的内部通信保留的文件描述符数。


示例 8–2 设置仅用于调用期间的选项值

此示例说明如何将过滤器数设置为 2。其余选项将使用打印调度程序中的缺省值。


# /usr/lib/lpsched -f 2

要使用打印调度程序中的缺省选项,请运行不带任何选项的 /usr/lib/lpsched 命令。

请注意,使用 /usr/lib/lpsched 命令启动打印调度程序时,不会使用通过 svccfg 命令设置的值。


Procedure如何设置在系统重新引导过程中保留的打印机选项值

  1. 成为超级用户 lp 或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 设置一个或所有选项。


    # svccfg
    svc:> select svc:/application/print/server
    svc:/application/print/server> setprop property = value
    .
    .
    .
    svc:/application/print/server> quit
    

    对于要设置的每个选项,请在单独的行上重复 setprop property = value 命令。

  3. 通过显示打印服务器属性的当前值,验证是否已正确设置了选项。


    # svcprop svc:/application/print/server
    
  4. 重新启动打印调度程序。

    • 如果打印调度程序未运行,请使用以下命令:


      # 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 命令。


示例 8–3 设置在系统重新引导过程中保留的打印机选项值

此示例说明如何将过滤器数设置为 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