系统管理指南:打印

第 11 章 使用 PPD 文件管理实用程序管理打印机(任务)

本章介绍如何使用 PPD 文件管理器 /usr/sbin/ppdmgr 实用程序来管理与打印子系统一同使用的 PostScript 打印机描述 (PostScript Printer Description, PPD) 文件。借助 ppdmgr 实用程序,可以自定义打印机并自动执行各种管理打印任务。

下面列出了本章中的信息:

有关参考信息,请参见PPD 文件管理实用程序

使用 PPD 文件管理实用程序管理 PPD 文件(任务图)

表 11–1 使用 ppdmgr 管理 PPD 文件:任务图

任务 

说明 

参考 

使用 ppdmgr 实用程序将 PPD 文件添加到系统中。

使用 ppdmgr 实用程序将 PPD 文件添加到系统中。

如何使用 ppdmgr 实用程序将 PPD 文件添加到系统中

使用 lpadmin- n 命令将 PPD 文件添加到系统中。

使用 lpadmin -n 命令修改现有打印队列,以将 PPD 文件与其相关联。

如何使用 lpadmin -n 命令将 PPD 文件添加到系统中

请求更新或重新生成与某个特定标签或所有标签关联的 PPD 高速缓存文件。 


注 –

根据要处理的 PPD 文件的数目,重新生成 PPD 高速缓存文件可能会很耗时。


如果已手动或使用 pkgadd 命令添加了 PPD 文件,请使用 ppdmgr 实用程序请求更新 PPD 高速缓存文件。

如果您怀疑 PPD 高速缓存文件已损坏,则可以请求在以下位置为 PPD 文件重新生成 PPD 高速缓存文件信息:

  • 在系统上指定的系统信息库中指定的标签目录中

  • 在系统上的所有系统信息库内

如何使用 ppdmgr 实用程序更新或重新生成 PPD 高速缓存文件

启用 application/print/ppd-cache-update 服务。

application/print/ppd-cache-update 服务必须联机才能反映对 PPD 高速缓存中的 PPD 文件系统信息库所做的更改。缺省情况下将启用该服务。如有必要,可以使用 svcadm 命令来启用该服务。

如何启用或禁用 ppd-cache-update 服务

禁用 application/print/ppd-cache-update 服务。

使用 svcadm 命令来禁用 application/print//ppd-cache-update 服务。

如何启用或禁用 ppd-cache-update 服务

PPD 文件管理实用程序概述

为了对各种打印机提供支持,打印系统可以使用 PostScript 打印机描述 (PostScript Printer Description, PPD) 文件。PPD 文件管理器 (/usr/sbin/ppdmgr) 提供了一种用于管理系统上的 PPD 文件的方式。借助此实用程序,您可以将 PPD 文件添加到系统中,并为所运行的 Solaris OS 尚不支持的打印机更新打印机信息。

使用 ppdmgr 实用程序,您可以执行下列任务:

将 PPD 文件添加到系统中

使用 Solaris Print Manager 添加或修改打印机时,将引用 PPD 高速缓存文件 ppdcache 来显示打印机驱动程序信息。请参见Solaris Print Manager 中的打印机驱动程序字段的说明。PPD 文件管理实用程序通过从系统的所有 PPD 文件系统信息库中的 PPD 文件收集打印机信息,来生成高速缓存文件。要反映在 Solaris Print Manager 中进行的所有更改,必须更新 PPD 高速缓存文件。

您可以使用以下方法将 PPD 文件添加到系统中:

使用 ppdmgr 实用程序或 lpadmin -n 命令将 PPD 文件添加到系统中时,更改将反映在 Solaris Print Manager 中。如果将 PPD 文件手动复制到系统中或使用 pkgadd 命令添加该文件,可以使用 ppdmgr 实用程序来确保新的 PPD 文件反映在由 Solaris Print Manager 使用的高速缓存文件中。

使用 ppdmgr 实用程序将 PPD 文件添加到系统中提供了更多灵活性,因为您可以指定使用哪个标签以及将文件存储在哪里。借助 ppdmgr 实用程序的 -L-R 选项,可以指定您自己选择的标签和系统信息库。请参见指定 PPD 文件标签。如果使用 lpadmin -n 命令或 ppdmgr 实用程序将 PPD 文件添加到系统中,但没有指定标签或系统信息库,则该 PPD 文件将存储在 user 系统信息库内的 user 标签目录中。同样,如果所提供的 PPD 文件的源路径不是来自系统的现有 PPD 文件系统信息库中的现有 PPD 文件标签,则该文件将被复制到 user 系统信息库内的 user 标签。

指定 PPD 文件标签

PPD 文件标签描述了 PPD 文件的分组,并引用 PPD 文件系统信息库中用户选定的目录名或缺省目录名。使用 ppdmgr 实用程序将 PPD 文件添加到系统中时,您可以有选择性地指定一个标签。使用标签可以更方便地组织 PPD 文件,进而在使用 Solaris Print Manager 添加或修改打印机时可以更方便地识别 PPD 文件。

使用 -u-r 选项请求更新或重新生成 PPD 高速缓存文件时,也可以指定文件标签。如果没有指定标签,则系统会将 user 缺省标签分配给 PPD 文件。如果请求更新或重新生成 PPD 高速缓存文件,则缺省标签为 all,用于指定所有的 PPD 文件系统信息库。


注 –

使用带有 -a 选项的 ppdmgr 实用程序将 PPD 文件添加到系统中时,无法指定 all 标签。有关更多信息,请参见PPD 文件标签


指定 PPD 文件系统信息库

使用 ppdmgr 实用程序将 PPD 文件添加到系统中或请求更新 PPD 高速缓存文件时,可以指定一个系统信息库。系统信息库是用于存储 PPD 文件信息的目录。一个系统中可以存在多个 PPD 文件系统信息库。由第三方供应商提供的 PPD 文件存储在 vendor 系统信息库中。由系统管理员添加的 PPD 文件可以存储在 admin 系统信息库中。

下面是在系统中用于存储 PPD 文件的位置:

在 Solaris Print Manager 中查找 PPD 文件标签和系统信息库信息

现在,Solaris Print Manager 中的“打印机驱动程序”字段除了显示打印机驱动程序信息以外,还显示 PPD 文件标签和 PPD 文件系统信息库缩写。添加标签和系统信息库信息可帮助选择正确的打印机驱动程序。当有多个同名的 PPD 文件位于系统上不同的标签目录和系统信息库中时,此信息特别有用。

有关更多信息,请参见Solaris Print Manager 中的打印机驱动程序字段的说明

使用 PPD 文件管理器 (ppdmgr) 实用程序

Procedure如何使用 ppdmgr 实用程序将 PPD 文件添加到系统中

此过程说明如何使用 ppdmgr 实用程序将新的 PPD 文件添加到系统中。您还可以在 ppdmgr -a 命令后使用相应的参数来指定 PPD 文件标签、PPD 系统信息库或 PPD 文件的源路径。请注意,使用 ppdmgr 命令将 PPD 文件添加到系统中时,该文件将被复制到指定的标签和系统信息库,然后进行压缩。

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

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

  2. 将 PPD 文件添加到系统中。


    # ppdmgr -a ppd-file-path [ -L label ] [ -R repository ] [-w]
    
    -a

    将在 ppd-file-path 中指定的 PPD 文件复制到 PPD 系统信息库,然后更新高速缓存文件中的信息以反映所做更改。

    如果没有指定 -L 选项,则分配给 PPD 文件的缺省标签为 user

    如果没有指定 -R 选项,则分配给 PPD 文件的缺省系统信息库为 user

    ppd-file-path

    指定 PPD 文件的源路径和该文件的名称。此文件与 -a 选项一同用于将 ppd-file-path 的副本添加到指定系统信息库中的指定标签。ppdmgr 实用程序接受具有 .ppd.ppd.gz 扩展名的有效 PPD 文件。

    -L label

    指定 PPD 文件标签。缺省标签为 user。标签名必须包含可移植文件名字符集中的字符。标签名不得以连字符 (-) 开头或包含分号 (;)。标签名不得为保留的标签名。

    以下标签名将被保留,且不能与 -a 选项一同使用:

    • caches

    • ppdcache

    • manufaliases

    • all

    -R repository

    指定用于表示 PPD 文件安装位置之一的 PPD 文件系统信息库的名称。使用此选项时,可以指定以下 PPD 文件系统信息库之一:

    • user(缺省值)

    • admin

    -w

    显示将 PPD 文件复制到的全路径名。-w 选项只有与 -a 选项一同使用时才有效。否则,将忽略此选项。

  3. 验证已使用以下方法之一添加了 PPD 文件:


示例 11–1 将 PPD 文件添加到系统

此示例说明如何将 PPD 文件 myHPprinter.ppd 添加到系统中。

请注意,在此示例以及随后的示例中,所指定的 path 将有所变化。


# ppdmgr -a /net/somesystem/myHPprinter.ppd

该 PPD 文件的副本位于系统中的以下路径:/usr/share/model/ppd/system/foomatic/HP/myHPprinter.ppd.gz

使用此命令以及 -a 选项,可以将该文件复制到 user 系统信息库中的 user 标签。



示例 11–2 将 PPD 文件添加到系统中的指定标签

此示例说明如何将 PPD 文件 myHPprinter.ppd 添加到系统中的指定标签 Photos


# ppdmgr -a /net/somesystem/myHPprinter.ppd -L Photos

该 PPD 文件的副本位于系统中的以下路径:/usr/share/model/ppd/Photos/HP/myHPprinter.ppd.gz

使用此命令,以及 -a-L 选项,可以将该 PPD 文件复制到 user 系统信息库中的 Photos 标签。



示例 11–3 将 PPD 文件添加到系统中的系统信息库

此示例说明如何将 PPD 文件 myHPprinter.ppd 添加到系统中的 admin 系统信息库。


# ppdmgr -a /net/somesystem/myHPprinter.ppd -R admin

该 PPD 文件的副本位于系统中的以下路径:/usr/local/share/ppd/user/HP/myHPprinter.ppd.gz

使用此命令以及 -a-R 选项,可以将该文件复制到 admin 系统信息库中的 user 标签目录。



示例 11–4 将 PPD 文件添加到系统中指定系统信息库中的指定标签

此示例说明如何在指定 Photos 标签和 admin 系统信息库的情况下,将 PPD 文件 myHPprinter.ppd 添加到系统中。


# ppdmgr -a /net/somesystem/myHPprinter.ppd -L Photos -R admin

该 PPD 文件的副本位于系统中的以下路径:/usr/local/share/ppd/Photos/HP/myHPprinter.ppd.gz

使用此命令以及 -a-L-R 选项可以将该文件复制到 admin 系统信息库中的 Photos 标签。



示例 11–5 将 PPD 文件添加到系统中并显示将该文件复制到的全路径名

此示例说明如何通过显示 PPD 文件 myHPprinter.ppd 的目标路径来将该 PPD 文件添加到系统中。使用 ppdmgr 命令以及此选项可以确定将该 PPD 文件复制到系统上哪个位置。


# ppdmgr -a /net/somesystem/myHPprinter.ppd -w

该 PPD 文件的副本位于系统中的以下路径:/var/lp/ppd/user/HP/myHPprinter.ppd.gz

使用此命令以及 -a-w 选项可以将指定的文件复制到 user 系统信息库中的 user 标签。

-w 选项只有在与 -a 选项结合使用时才有效。否则,将忽略此选项。


另请参见

有关 ppdmgr 命令行选项的详细说明以及有关添加 PPD 文件的指南,请参见ppdmgr 实用程序的命令行选项的说明

Procedure如何使用 lpadmin -n 命令将 PPD 文件添加到系统中

此过程说明如何使用 lpadmin 命令来修改现有的打印队列配置,从而将指定的 PPD 文件与打印队列相关联。

如果使用带有 -n 选项的 lpadmin 命令将 PPD 文件添加到系统中,则无法指定标签或系统信息库。相反,系统会将 user 标签分配给该文件,然后将该文件复制到 user 系统信息库。如果要指定用户定义的标签或系统信息库,请使用 ppdmgr 实用程序添加 PPD 文件。请参见如何使用 ppdmgr 实用程序将 PPD 文件添加到系统中

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

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

  2. 通过将现有打印队列与 PPD 文件相关联来修改该打印队列。


    # lpadmin -p print-queue -n ppd-file-path
    
    lpadmin

    用于配置 LP 打印服务的管理命令。

    -p print-queue

    指定打印队列。请注意,打印队列有时称为 printer-name

    -n

    将在 ppd-file-path 中指定的 PPD 文件复制到缺省的 user 标签目录,该目录位于缺省的 user PPD 文件系统信息库中。

    ppd-file-path

    指定 PPD 文件的源路径和该文件的名称。此文件与 -a 选项一同用于将 ppd-file-path 的副本添加到指定系统信息库中的指定标签。ppdmgr 实用程序接受具有 .ppd.ppd.gz 扩展名的有效 PPD 文件。

  3. 验证已使用以下方法之一添加了 PPD 文件:

    • 检查该文件是否显示在 Solaris Print Manager 中:

      1. 启动 Solaris Printer Manager。

        有关说明,请参见如何启动 Solaris Print Manager

      2. 选择“修改打印机属性(连接或网络)”。

      3. 选择在此过程的步骤 2 中指定的打印队列。

        如果已成功添加了与该打印队列关联的 PPD 文件,则该文件将显示在“打印机驱动程序”字段中。请参见Solaris Print Manager 中的打印机驱动程序字段的说明

    • 使用 lpstat 命令验证是否已添加了 PPD 文件:


      % lpstat -p print-queue -l

      如果已将 PPD 文件成功添加到打印队列,则 PPD 文件名将包括在 lpstat 命令输出的 PPD 字段中。


示例 11–6 使用 lpadmin -n 命令将 PPD 文件添加到现有打印队列

此示例说明如何修改打印队列 printer1,以将其与指定的 PPD 文件的副本相关联。


# lpadmin -p printer1 -n /path/mynewHPppdfile.ppd

指定的 PPD 文件存储在 /var/lp/ppd/user/HP/mynewHPppdfile.ppd.gz 中。


更新 PPD 高速缓存文件

更新系统上的 PPD 高速缓存文件将更新 PPD 高速缓存文件中的现有信息。

在以下情况下,可以请求并更新系统上的 PPD 高速缓存文件:

完成更新后,所做的所有更改都将反映在 Solaris Print Manager 中。

重新生成 PPD 高速缓存文件

重新生成 PPD 高速缓存文件将删除现有的高速缓存并生成全新的高速缓存。此过程可能很耗时,尤其是当系统上有许多 PPD 文件时更是如此。因此,仅在进行故障排除时请求重新生成 PPD 高速缓存文件。有关与更新和重新生成 PPD 高速缓存文件相关的指南,请参见ppdmgr 实用程序的命令行选项的说明

Procedure如何使用 ppdmgr 实用程序更新或重新生成 PPD 高速缓存文件

此过程说明如何使用 ppdmgr 实用程序的 -u-r 选项更新或重新生成 PPD 高速缓存文件。

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

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

  2. 更新或重新生成 PPD 高速缓存文件,以反映所有最新更改。


    # ppdmgr -u | -r [ -R repository ] [ -L label ]
    
    -u

    使用分配给指定系统信息库中指定标签的 PPD 文件的相关信息更新 PPD 高速缓存文件。缺省标签为 user。缺省系统信息库也为 user。如果未标识任何更改,则不会对高速缓存文件进行任何更改。

    -r

    删除现有的 PPD 高速缓存文件,然后在指定标签中使用 PPD 文件对应的信息重新生成该文件。

    如果未指定任何标签,则缺省标签为 user(位于指定系统信息库中)。如果未指定任何系统信息库,则缺省系统信息库也为 user

    在正常情况下,您不需要请求重新生成 PPD 高速缓存文件。仅在怀疑 PPD 高速缓存文件已损坏时才使用此选项。

    -R repository

    指定要更新的 PPD 文件系统信息库。可以指定以下 PPD 文件系统信息库之一:

    • admin

    • all(指定系统上所有可用的 PPD 文件系统信息库)

    • system

    • user(缺省值)

    • vendor

    -L label

    指定 PPD 文件标签。

    缺省标签为 user。标签名必须包含可移植文件名字符集中的字符。标签名不得以连字符 (-) 开头或包含分号 (;)。标签名不得为保留的标签名。

    以下标签名被保留:

    • caches

    • ppdcache

    • manufaliases

    • all

  3. 验证已使用以下方法之一添加了 PPD 文件:

    • 检查该文件是否显示在 Solaris Print Manager 中:

      1. 启动 Solaris Printer Manager。

        有关说明,请参见如何启动 Solaris Print Manager

      2. 选择“修改打印机属性(连接或网络)”。

      3. 选择在此过程的步骤 2 中为其添加了 PPD 文件的打印队列。

        如果已成功添加了指定的 PPD 文件,则相应的信息将显示在“打印机驱动程序”字段中。请参见Solaris Print Manager 中的打印机驱动程序字段的说明

    • 使用 lpstat 命令验证是否已添加了 PPD 文件:


      % lpstat -p printer-name -l
      

      如果已将 PPD 文件成功添加到系统中,则 PPD 文件名将包括在 lpstat 命令输出的 PPD 字段中。


示例 11–7 使用 ppdmgr 实用程序更新 PPD 高速缓存文件

此示例说明如何更新 PPD 高速缓存文件,以反映来自为 user 系统信息库中的所有标签分配的 PPD 文件的信息。


# ppdmgr -u

此示例说明如何更新 PPD 高速缓存文件,以反映来自为 user 系统信息库中的 Photos 标签分配的 PPD 文件的信息。


# ppdmgr -u -L Photos

此示例说明如何更新 PPD 高速缓存文件,以反映来自为 admin 系统信息库中的所有标签分配的 PPD 文件的信息。


# ppdmgr -u -R system

此示例说明如何更新 PPD 高速缓存文件,以反映来自为 admin 系统信息库中的 Photos 标签分配的 PPD 文件的信息。


# ppdmgr -u -L Photos -R admin

管理 ppd-cache-update 服务

用于更新 PPD 高速缓存文件的服务管理工具 (Service Management Facility, SMF) 服务 application/print/ppd-cache-update 在系统重新引导期间运行一次,目的是确保对系统中的所有 PPD 文件系统信息库所做的修改都反映在 ppdcache 文件中。服务实例为 svc:/application/print/ppd-cache-update。缺省情况下,安装 Oracle Solaris 软件时会启用该服务。要启用或禁用该服务,请使用 svcadm 命令。


注 –

在软件安装或更新期间,系统将为传送到系统信息库 /var/lp/ppd 中的所有 PPD 文件生成高速缓存文件条目。因此,系统重新引导时,该服务可能要用很长时间才能转换为联机状态。


有关说明,请参见如何启用或禁用 ppd-cache-update 服务。有关使用 SMF 和 svcadm 命令的信息,请参见 smf(5)svcadm(1M) 手册页。

Procedure如何启用或禁用 ppd-cache-update 服务

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

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

  2. 要启用或禁用 application/print/ppd-cache-update 服务,请键入:


    # svcadm enable|disable application/print/ppd-cache-update
    
  3. 要验证已启用还是已禁用该服务,请键入:


    # svcs application/print/ppd-cache-update
    

    如果已启用该服务,则输出如下所示:


    # svcs application/print/ppd-cache-update
    STATE          STIME    FMRI
    online         Apr_26   svc:/application/print/ppd-cache-update:default

    如果已禁用该服务,则输出如下所示:


    # svcs application/print/ppd-cache-update
    STATE          STIME    FMRI
    diabled        Apr_26   svc:/application/print/ppd-cache-update:default
另请参见

有关使用带有 -u 选项的 ppdmgr 实用程序更新 PPD 高速缓存文件的逐步说明,请参见如何使用 ppdmgr 实用程序更新或重新生成 PPD 高速缓存文件