系统管理指南:打印

第 5 章 使用 LP 打印命令设置打印机(任务)

本章介绍如何设置打印机,以及如何使用 LP 打印命令在网络系统上访问这些打印机。

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

有关打印的概述信息,请参见第 1 章

使用 LP 打印命令设置打印机(任务图)

任务 

说明 

参考 

使用 LP 打印命令添加新的直接连接的打印机。 

将打印机物理连接到系统后,使用 LP 打印服务命令使打印机可用于打印。  

如何使用 LP 打印命令添加新的直接连接的打印机

使用 lpadmin 命令添加打印机队列,其中 localhost 指定为主机名称。

设置本地打印队列时,使用带有 -s 选项的 lpadmin 命令将 localhost 指定为主机名。之所以添加此修改,是为了使打印服务器可以保持同一个打印主机名 localhost,而与计算机主机名无关。

如何添加将 localhost 指定为主机名的打印队列(LP 打印命令)

使用 LP 打印服务命令添加新的网络连接的打印机。 

使用 LP 打印命令添加新的网络连接的打印机。 

如何使用 LP 打印命令添加新的网络连接的打印机

使用 IPP 为连接到 Oracle Solaris 打印服务器的打印机添加远程打印队列。 

要使用 IPP 添加对远程打印队列的访问,可以使用以下两种方法之一:

  • 使用 lpadmin 命令。

  • 使用 lpset 命令。

如何设置使用 IPP 连接到打印服务器的远程打印机

使用打印机供应商提供的软件添加新的网络连接的打印机。 

以物理方式将打印机连接到网络后,使用打印机供应商提供的工具配置网络连接的打印机。 

如何使用打印机供应商提供的工具添加网络连接的打印机

使用 LP 打印命令设置直接连接的打印机

下表介绍可在使用 lpadmin 命令设置新的打印机或修改现有打印机时定义的各种打印机定义。

打印机定义 

打印命令选项 

说明 

示例 

缺省设置 

必需或可选? 

打印机名称

-p

打印机的名称 

laser1

N/A 

安装连接的打印机或网络连接的打印机时必需 

打印服务器

 

打印服务器的名称 

venus

对打印机服务器使用 localhost

安装连接的打印机或网络连接的打印机时必需 

说明

-d

用户定义的字符串 

laser printer near breakroom

N/A 

可选 

打印机端口

-v

打印机所连接到的设备 

/dev/term/a

/dev/term/a

安装连接的打印机时必需 

打印机类型

-T

打印机的类型 

unknown

PostScript

在不使用 PPD 文件的情况下安装连接的打印机或网络连接的打印机时必需 

文件内容类型

-I

要打印的内容 

any

PostScript

在不使用 PPD 文件的情况下安装连接的打印机或网络连接的打印机时必需 

PPD 文件名 

-n

指向 PPD 文件的全路径,以及带有 .ppd 扩展名的文件名。

path/mynecprinter .ppd

N/A 

可选 

故障通知

-A

指定如何将错误通知用户 

-A mail

Write to superuser

可选 

缺省打印机 

-d

标识缺省打印机 

N/A 

N/A 

可选 

标题页控制菜单: 

-o

选择是否打印标题页 

-o banner=never

-o banner=optional

可选 

设置打印机时指定 PPD 文件

要在使用 LP 打印命令添加或修改打印机时指定 PPD 文件,请使用带有 -n 选项的 lpadmin 命令。例如,要为 Lexmark 打印机添加名为 foobar 的打印队列,可以键入以下命令:


# lpadmin -p foobar -v device -I postscript -m standard_foomatic \
-n /path/Lexmark-Optra_E312-Postscript.ppd.gz

使用 lpadmin -n 命令指定 PPD 文件时,必须提供该 PPD 文件的全路径。

如果使用 lpadmin -n 命令添加 PPD 文件,而且您在 PPD 文件路径中指定的 PPD 文件系统信息库在系统中不存在,则 PPD 文件的副本将存储到 user 库中的 user 标签目录中。此目录位于 /var/lp/ppd/user/manufacturer/ppd-file 中。然后系统将更新 Solaris Print Manager 高速缓存,以反映最近添加的 PPD 文件中的打印机信息。有关更多信息,请参见 ppdmgr(1M) 手册页。

Procedure如何使用 LP 打印命令添加新的直接连接的打印机

以下过程介绍了如何使用带 -n 选项的 lpadmin 命令添加新的连接的打印机并指定 PPD 文件。此过程后面有两个示例。第一个示例演示如何添加与 PPD 文件关联的新连接的打印机。第二个示例显示如何添加不与 PPD 文件关联的新连接的打印机。

  1. 将打印机连接到系统,然后打开打印机的电源。

    有关硬件交换机和布线要求的信息,请参阅打印机供应商的安装文档。

  2. 登录到打印服务器,并且成为超级用户或同等角色。

  3. 收集使用 PPD 文件配置连接的打印机所需的信息。

    • 打印机名称和端口设备

    • 文件内容类型

    • PPD 文件

    要确定打印机将使用的 PPD 文件,请首先定义打印机生产商、型号和驱动程序。

    有关在使用 LP 打印命令添加新打印机或修改现有打印机时使用 PPD 文件的概述信息,请参见打印方面的新增功能

  4. 定义打印机名称以及打印机将使用的端口设备、文件内容类型和 PPD 文件。

    使用 PPD 文件时,文件内容类型通常为 PostScript。

    1. 指定打印机将使用的打印机名称和端口设备。


      # lpadmin -p printer-name -v /dev/printers/0
      

      要使用的设备是 /dev/printers/0

      您现在可以在 lpadmin 命令中使用 -s 选项将打印服务主机名指定为 localhost。有关更多信息,请参见如何添加将 localhost 指定为主机名的打印队列(LP 打印命令)

    2. 指定打印机将使用的接口脚本。


      # lpadmin -p printer-name -m standard_foomatic
      
    3. 指定打印机将使用的文件内容类型和 PPD 文件。


      # lpadmin -p printer-name -I content-type -n /path/ppdfile
      

      您提供的 PPD 文件位于 /path 目录中。


      注 –

      如果 /path 并非系统上的 PPD 文件系统信息库,请将 PPD 文件的副本放在 user PPD 文件系统信息库中的 user 标签目录中。有关更多信息,请参见使用 PPD 文件管理实用程序管理 PPD 文件(任务图)


    4. 指定打印机描述。


      # lpadmin -p printer-name -D "printer-description"
      

    有关更多信息,请参见 lpadmin(1M) 手册页。

  5. (可选)将过滤器添加到打印服务器。


    # cd /etc/lp/fd
    # for filter in *.fd;do
        > name=`basename $filter .fd`
        > lpfilter -f $ name-F $ filter
        > done
    
  6. 启用打印机以接受打印请求并打印这些请求。


    # accept printer-name
    # enable printer-name
    
  7. 验证是否正确配置了打印机。


    # lpstat -p printer-name -l
    

    lpstat 命令的输出将列出所使用的 PPD 文件。


示例 5–1 通过指定 PPD 文件来添加新的直接连接的打印机

此示例说明如何在使用 PPD 文件的情况下添加新的连接的打印机。使用 lpadmin 命令的 -n 选项,可以通过指定 PPD 文件来添加新的打印队列。以下信息是一个示例。


# lpadmin -p paper -v /dev/printers/0 (1)
# lpadmin -p paper -I postscript (2)
# lpadmin -p paper -m standard_footmatic (3)
# lpadmin -p paper -n /path/Lexmark-Optra_E312-Postscript.ppd.gz(4)
# lpadmin -p paper -D "Color printer on third floor, rm 3003" (5)
# cd /etc/lp/fd

# accept paper
	destination “paper” now accepting requests 
# enable paper	(6) 
printer “paper” now enabled 
# lpstat -p paper (7)
printer paper is idle. enabled since Feb 28 11:21 2004...
  1. 定义打印机名称和打印机将使用的端口设备

  2. 设置打印机可以直接打印到的文件内容类型

  3. 指定接口脚本以使用 PPD 文件


    注 –

    如果 /path 不位于系统上的现有 PPD 文件系统信息库中,此命令还会将 PPD 文件复制到 user PPD 文件系统信息库中的 user 标签下。


  4. 指定 PPD 文件的路径和 PPD 文件名

  5. 添加打印机描述

  6. 接受打印机的打印请求并启用打印机

  7. 验证打印机是否已准备好进行打印



示例 5–2 无需指定 PPD 文件即可添加新的直接连接的打印机

此示例说明如何在不关联 PPD 文件的情况下添加新连接的打印机。此示例中的命令必须在连接打印机的打印服务器上执行。以下信息仅是一个示例。

  1. lp 提供对端口设备的拥有权和独占访问权限

  2. 定义打印机名称和打印机将使用的端口设备

  3. 设置打印机的打印机类型

  4. 指定打印机可以直接打印到的文件内容类型

  5. 添加打印机描述

  6. 接受打印机的打印请求并启用打印机

  7. 验证打印机是否已准备好进行打印


另请参见

Procedure如何添加将 localhost 指定为主机名的打印队列(LP 打印命令)

该过程显示如何使用 LP 打印命令添加本地打印队列,并将 localhost 选项指定为打印系统数据库中的主机名。请注意,还可修改已配置的打印队列,以便使用 localhost 作为主机名。

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

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

  2. 将打印主机名设置为 localhost


    # lpadmin -p new-print-queue -s localhost -v device
    
  3. 检查 /etc/printers.conf 文件中的相应项。


    # lpget new-print-queue
    new-print-queue:
            bsdaddr=abc,new-print-queue,Solaris

    如果已成功创建或修改打印队列,则 lpget 命令输出会返回新的或已修改的打印队列的名称。


示例 5–3 添加将 localhost 指定为主机名的打印队列

此示例说明如何通过使用带有 -s 选项的 lpadmin 命令来添加新的打印队列 paper,并将 localhost 指定为主机名。


$ su - root
# lpadmin -p paper -s localhost -v /dev/ecpp0

# lpget paper
paper:
        bsdaddr=localhost,paper,Solaris


示例 5–4 通过使用 lpadmin 指定主机名的缺省行为来添加打印队列

此示例说明在添加新的打印队列时通过 lpadmin 命令使用系统主机名 abc 的缺省行为。


$ su - root
# lpadmin -p newspaper -v /dev/printers/0

# lpget newspaper
fargo:
        bsdaddr=abc,newspaper,Solaris


示例 5–5 修改打印队列以使用 localhost 作为主机名

此示例说明如何修改现有打印队列 newspaper 并将 localhost 指定为新的打印服务器名称。


$ su - root
# lpadmin -p newspaper -s localhost

# lpget newspaper
newspaper:
        bsdaddr=localhost,newspaper,Solaris

另请参见

有关在使用 Solaris Print Manager 添加或修改打印队列时将 localhost 指定为打印服务器的主机名的信息,请参见如何添加将 localhost 指定为主机名的打印队列 (Solaris Print Manager)

使用 LP 打印命令设置网络连接的打印机

网络连接的打印机是直接连接到网络的硬件设备。可以从打印服务器访问此打印机,而不必通过电缆以物理方式将打印机连接到打印服务器。网络连接的打印机具有其自己的系统名称和 IP 地址。


注意 – 注意 –

不能在不使用队列配置的情况下在打印服务器上配置网络连接的打印机,否则会导致打印机配置错误。

可以使用 Solaris Print Manager 正确配置网络连接的打印机。选择“新的网络打印机”选项。或者,可以使用 lpadmin 命令正确配置网络连接的打印机。

请不要使用 lpadmin -p queue-name -s printer-name 命令或 Solaris Print Manager 的“添加对打印机的访问”选项来添加网络连接的打印机。这些方法应分别单独使用,以指向远程打印服务器上已经存在的队列。打印服务器能够对网络连接的打印机执行排队、过滤以及打印管理等操作。直接打印到网络连接的打印机会导致打印机配置错误,从而可能导致许多问题。此外,作业选项(如份数、成组传送页的使用或停用以及过滤)将丢失。


网络打印机可能会使用需要供应商提供的打印程序的一个或多个特殊协议。用于设置供应商提供的打印程序的过程可能有所不同。如果打印机未附带供应商提供的支持,则大多数设备都可以使用 Oracle Solaris 网络连接的打印机支持。如有可能,请使用打印机供应商提供的软件。

供应商可能会提供 SVR4 打印机接口脚本以替换标准打印机接口脚本。如果是这样,则该 SVR4 接口脚本会调用供应商提供的打印程序,将作业发送到打印机。如果不是这样,则需要修改标准接口脚本,以调用供应商提供的打印程序。为此,请编辑标准接口脚本的每打印机副本,以调用供应商提供的打印程序。

以下是网络连接的打印机配置中使用的术语。有关打印术语的完整说明,请参见词汇表

Oracle 对网络打印机的支持

如果网络打印机供应商不提供软件支持,则可使用 Oracle 提供的软件。该软件提供对网络打印机的通用支持,但不能提供对所有可能的打印机属性的完全访问。

使用 LP 打印命令设置网络连接的打印机中提供有关如何添加网络连接的打印机的常规讨论。以下是对使用 Oracle 提供的软件管理打印机的讨论。

调用网络打印机支持

网络打印机的软件支持是通过网络接口脚本 netstandard 调用的。使用此脚本配置网络连接的打印机会导致调用网络连接的打印机支持模块。以下是使用网络支持配置打印机的命令。


lpadmin -p printer-name -m netstandard 

选择打印机节点名称

选择打印机节点名称。与网络上的任何节点一样,此名称也必须是唯一的。打印机节点名称与打印机的 IP 地址相关联。

选择目标名称(也称为网络打印机访问名称)

打印子系统需要打印机的访问信息。子系统在与打印机建立网络连接时使用目标名称。使用 lpadmin 命令可以为打印子系统提供此名称。然后,此名称将成为打印机配置数据库的一部分。打印机访问名称是打印机节点的名称,该名称有时由端口名称限定。端口标识会因打印机供应商的不同而异。可以在打印机文档中找到有关端口标识的信息。

以下是打印机访问名称的格式:

printer-node-name[: port-designation]

可以采用以下三种形式之一指定目标名称:

原子(简单)

(目标)-通过在 printers.confprinters 配置数据库中查找已命名目标的 printer-uri-supported 密钥/值对,来进行解析。如果未找到某一项的 printer-uri-supported 密钥,则其 bsdaddr 值将转换为打印机 URI 格式并被使用。

有关更多信息,请参见 printers(4)printers.conf(4) 手册页。

打印机 URI

(scheme://endpoint)-已完整解析且指定用于联系打印服务的协议和通信端点。在访问系统当前管理域外部的打印服务时,这种形式的目标名称非常有用。由于该名称包括在联系打印服务时使用的协议,因此可以选择比 RFC-1179 协议更丰富的协议。

POSIX

(server:queue[:extensions])-完整且解析为 lpd://server/printers/queue[#extensions] 的等效打印机 URI 形式。保留此形式的目的只是为了实现向后兼容性。此打印机 URI 形式是首选的替换形式。


示例 5–6 带有端口标识(数字)的目标名称(或网络打印机访问名称)

使用 TCP 的通用端口标识是 9100。如果打印机节点名称是 pn1,并且打印机供应商将端口定义为 9100,则打印机访问名称是 pn1:9100。要在这种情况下配置打印机,请使用以下命令:


lpadmin -p printer_name -o dest=pn1:9100


示例 5–7 带有 BSD 端口标识(名称)的目标名称(或网络打印机访问名称)

使用 BSD 协议时,端口标识可能不是一个数字,而是由打印机供应商定义的某个名称,例如: xxx _parallel_1。如果打印机节点名称是 cardboard,则打印机访问名称是 cardboard:xxx_parallel_1。要在这种情况下配置打印机,请使用以下命令:


lpadmin -p printer-name -o dest=cardboard:xxx_parallel_1


示例 5–8 不带端口标识的目标名称(或网络打印机访问名称)

如果没有端口标识,并且打印机节点名称是 newspaper,则打印机访问名称即是打印机节点名称: newspaper。要在这种情况下配置打印机,请使用以下命令:


lpadmin -p printer-name -o dest=newspaper

选择网络打印协议

缺省情况下,LP 打印服务使用 BSD 打印协议和原始 TCP 与打印机进行通信。打印机供应商文档提供了有关要使用哪个协议的信息。通常,TCP 协议在打印机中更常用。


注 –

Solaris 10 5/08 发行版中引入了设备 URI 协议。通过此协议可以实现远程打印机访问。在使用 lpadmin 命令或使用 Solaris Print Manager 添加网络连接的打印机时,可以指定 device-uri


要选择 BSD 协议,请键入:


lpadmin -p printer-name -o protocol=bsd

要选择 TCP 协议,请键入:


lpadmin -p printer-name -o protocol=tcp

如果选择的协议是 BSD 打印协议,则可以进一步选择将控制文件发送到打印机的顺序。一些打印机要求先发送控制文件,再发送数据文件。其他打印机则正好相反。要了解此信息,请参见打印机供应商文档。缺省情况下,首先发送控制文件。

要选择顺序,请键入以下命令之一:


lpadmin -p printer-name -o bsdctrl=first

lpadmin -p printer-name -o bsdctrl=last

设置超时值

借助超时选项,用户可以选择在连接到打印机的连续尝试之间等待的时间(以秒为单位)。一些打印机的预热时间很长,因此建议使用较大的超时值。缺省值是 10 秒。

超时值对打印过程的成功或失败没有影响。该值是软件用作初始超时计数的种子值。如果一再失败,此计数将会增加。当连接到打印机的尝试一再失败时,将向假脱机程序发送一条消息。此消息提醒用户可能需要进行干预。故障可能是打印机被关闭或打印机缺纸等任何情况。如果过于频繁地生成这些消息(例如在预热打印机时),则增加超时值将消除伪消息。

可以通过试验找出最佳的超时值。请键入以下命令以设置超时值:


lpadmin -p printer-name -o timeout=n

管理网络连接的打印机访问

每台网络连接的打印机都应该仅有一台提供对打印机的访问的服务器。通过此限制,服务器可以管理对打印机的访问并使作业保持连贯。

网络连接的打印机的缺省设备是 /dev/null。当打印机仅有一个队列时,此设备已足够。如果需要多个队列,则将该设备设置为一个文件。通过此设置,打印系统可以限制跨队列对打印机的访问。以下命令将创建一个设备文件,并将其配置为网络连接的打印机设备。


touch /path/filename
chmod 600 /path/filename
lpadmin -p printer-name -v /path/filename

下面举例说明如何创建名为 devtreedown 的设备文件。


# touch /var/tmp/devtreedown
# chmod 600 /var/tmp/devtreedown
# lpadmin -p treedown -v /var/tmp/devtreedown

Procedure如何使用 LP 打印命令添加新的网络连接的打印机

本过程介绍如何添加具有扩展打印机支持的新的网络连接的打印机,该过程可在其配置过程中关联 PPD 文件。此过程后面有两个示例。第一个示例演示如何通过 lp 命令在使用 PPD 文件的情况下添加新的网络连接的打印机。第二个示例说明如何通过 lp 命令在不使用 PPD 文件的情况下添加新的网络打印机。

以下步骤是使用网络打印机支持软件设置网络连接的打印机所必需的。如果打印机未附带供应商提供的软件,则应使用此软件。

  1. 将打印机连接到网络,然后打开打印机的电源。

    有关硬件交换机和布线要求的信息,请参阅打印机供应商的安装文档。获取 IP 地址并选择打印机节点的名称。此步骤等效于将任何节点添加到网络。

  2. 收集使用 PPD 文件配置新的网络连接的打印机所需的信息。

    • 打印机名称和端口设备

    • 网络打印机访问名称

    • 协议

    • 超时

    • 文件内容类型

    • PPD 文件

    要确定 PPD 文件,请首先定义打印机生产商、打印机型号和打印机将使用的驱动程序。

    有关更多信息,请参见使用 LP 打印命令设置网络连接的打印机中介绍的术语。

  3. 登录到打印服务器,并且成为超级用户或同等角色。

  4. 定义打印机名称以及打印机将使用的端口设备、文件内容类型和 PPD 文件。使用 PPD 文件时,文件内容类型通常为 PostScript。

    1. 指定打印机将使用的打印机名称和端口设备。


      # lpadmin -p printer-name -v /dev/null
      

      要使用的设备是 /dev/null

      可以在 lpadmin 命令中使用 -s 选项将打印服务主机名指定为 localhost。有关更多信息,请参见如何添加将 localhost 指定为主机名的打印队列(LP 打印命令)

      可以使用 -v 选项指定 device-uri。通过协议可以访问远程打印机。有关更多信息,请参见使用 Oracle Solaris 发行版中的打印协议

    2. 指定打印机将使用的接口脚本。


      # lpadmin -p printer-name -m netstandard_foomatic 
      

      网络连接的打印机的支持软件附带的接口脚本是 /usr/lib/lp/model/netstandard_foomatic

    3. 指定打印机将使用的文件内容类型和 PPD 文件。

      使用 PPD 文件时,文件内容类型通常为 PostScript。


      # lpadmin -p printer-name -I content-type -n 
      /path/ppdfile
      

      指定的 PPD 文件位于 /path 目录中。


      注 –

      如果 /path 并非系统上的 PPD 文件系统信息库,请将 PPD 文件的副本放在 user PPD 文件系统信息库中的 user 标签目录中。有关更多信息,请参见第 11 章


      有关更多信息,请参见 lpadmin(1M) 手册页。

    4. 指定打印机描述。


      # lpadmin -p printer-name -D  "printer-description"
      
  5. 设置打印机目标、协议和超时值。


    # lpadmin -p printer-name -o dest=access-name:port -o protocol=protocol
    -o timeout=value
    
    -p printer-name

    指定网络打印机名称。

    -o dest=access-name:port

    将打印机目标设置为网络打印机访问名称和指定的打印机供应商端口,前提是该端口是在打印机供应商文档中定义的。

    -o protocol=protocol

    设置用于与打印机进行通信的线上协议。同时支持 BSD 和原始 TCP。

    -o timeout=value

    设置一个重试超时值,该值表示在连接到打印机的两次尝试之间等待的秒数。

  6. (可选)将过滤器添加到打印服务器。


    # cd /etc/lp/fd
    # for filter in *.fd;do
        > name=`basename $ filter .fd`
        > lpfilter -f $name -F $ filter
        > done
    
  7. 启用打印机以接受打印请求并打印这些请求。


    # accept printer-name
    # enable printer-name
    
  8. 验证是否正确配置了打印机。


    # lpstat -p printer-name
    
  9. 添加对新打印机的客户机访问。

    在配置打印机后,为打印客户机创建对打印机的访问。有关更多信息,请参见使用 LP 打印命令添加打印机访问。有关如何使用命名服务定义打印客户机的信息,请参见命名服务转换器中的打印支持

  10. 完成任何可选的任务。

    设置打印机时,可能需要完成多个可选任务。有关剩余任务的指针,请参见配置 Internet 打印协议(任务图)。有关如何使用命名服务定义打印客户机的信息,请参见命名服务转换器中的打印支持


示例 5–9 通过指定 PPD 文件添加新的网络连接的打印机

此示例说明如何在使用 PPD 文件的情况下添加新的网络连接的打印机。使用 lpadmin 命令的 -n 选项,可以通过指定 PPD 文件来添加新的打印队列。此示例中使用的命令必须在打印服务器上执行。以下信息仅是一个示例。您提供的信息可能会有所不同。

  1. 定义打印机名称,并将设备设置为 /dev/null

  2. 定义网络打印机的接口脚本

  3. 设置目标、协议和超时

  4. 指定打印机可以直接打印到的文件内容类型

  5. 指定要使用的 PPD 文件

  6. 添加打印机描述

  7. 将打印过滤器添加到打印服务器

  8. 接受打印机的打印请求并启用打印机

  9. 验证打印机是否已准备好进行打印



示例 5–10 无需指定 PPD 文件即可添加新的网络连接的打印机

此示例说明如何在不指定 PPD 文件的情况下添加新的网络连接的打印机。这些命令必须在打印服务器上执行。以下信息仅用于示例目的。


# lpadmin -p luna1 -v /dev/null (1)
# lpadmin -p luna1 -m netstandard (2)
# lpadmin -p luna1 -o dest=nimquat:9100 -o protocol=tcp 
-o timeout=5 (3)
# lpadmin -p luna1 -I postscript -T PS (4)
# lpadmin -p luna1 -D "Room 1954 ps" (5)
# cd /etc/lp/fd
# for filter in *.fd;do	
	   > name =`basename $ filter .fd`	
	   > lpfilter -f $ name -F $ filter	
	   > done (6)
# accept luna1
	destination "luna1" now accepting requests
# enable luna1 (7)
printer "luna1" now enabled 
# lpstat -p luna1 (8)
printer luna1 is idle.enabled since Feb 28 11:21 2003.available.
  1. 定义打印机名称,并将设备设置为 /dev/null

  2. 定义网络打印机的接口脚本

  3. 设置目标、协议和超时

  4. 指定打印机可以直接打印到的文件内容类型以及打印机类型

  5. 添加打印机描述

  6. 将打印过滤器添加到打印服务器

  7. 接受打印机的打印请求并启用打印机

  8. 验证打印机是否已准备好进行打印


Procedure如何设置使用 IPP 连接到打印服务器的远程打印机

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

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

  2. 选择使用以下方法之一设置远程打印机:

    • 使用 lpadmin 命令:


      # lpadmin -p printer -s ipp://printer-ip-address/printers/printer-name
      
    • 使用 lpset 命令:


      # lpset -a printer-uri-supported=ipp://printer-ip-address/printers/printer-name
      

      使用带 -a 选项的 lpset 命令接受关键字/值对。在前面的输出中,所指定的关键字是 printer-uri-supported,值是 ipp://printer-ip-address/printers/printer-name。通常,不应将此值配置为直接引用打印机,而应引用打印服务器上的打印队列。

  3. (可选的)要确定您提供的 URI,请键入以下命令:


    $ lpstat -p ipp://printer-ip-address/printers/printer-name
    

    如果使用 lpstat 命令并将 URI 指定为目标,则会跳过本地打印配置,将您直接连接到网络连接的打印机或远程打印服务器。

使用打印机供应商提供的软件添加新的网络连接的打印机

网络打印机通常具有打印机供应商提供的软件支持。如果打印机具有打印机供应商提供的软件,请尽可能使用打印机供应商软件。该软件旨在支持打印机的属性,并可以充分利用打印机功能。请阅读打印机供应商文档,以安装和配置打印机,从而使该打印机可以处理 LP 打印服务。

Procedure如何使用打印机供应商提供的工具添加网络连接的打印机

  1. 将打印机连接到网络。打开打印机的电源。

    有关硬件交换机和布线要求的信息,请参阅打印机供应商的安装文档。获取 IP 地址并选择打印机节点的名称。此方法等效于将任何节点添加到网络。

  2. 遵照打印机供应商的说明添加网络连接的打印机。

    使用打印机供应商的说明配置网络连接的打印机。这些说明特定于供应商和打印机。

  3. 添加对新打印机的客户机访问。

    在添加打印机后,为打印客户机创建对打印机的访问。有关更多信息,请参见使用 LP 打印命令添加打印机访问

  4. 完成任何可选的任务。

    设置网络连接的打印机时,可能需要完成多个可选任务。有关这些任务的指针,请参见配置 Internet 打印协议(任务图)

在打印客户机上设置和管理打印机(任务图)

表 5–1 打印客户机上的打印机设置和管理(任务图)

任务 

说明 

参考 

使用 LP 打印命令添加打印机访问。 

使用 LP 打印命令在打印客户机上添加打印机访问。 

如何使用 LP 打印命令添加打印机访问

设置 .printers 文件。

使用 $HOME/.printers 文件以便用户可以建立其自己的自定义打印机别名。

如何设置 .printers 文件

删除打印机和打印机访问。 

如果需要更换打印机或者将它移动到其他位置,您可以从 print-client 中删除有关该打印机的信息。

如何使用 LP 打印命令删除打印机以及删除打印机访问

使用 LP 打印命令添加打印机访问

打印客户机是一个系统,该系统不是打印机的服务器。但此系统有权访问打印机。打印客户机使用打印服务器的服务对打印作业进行假脱机、调度和过滤。请注意,一个系统既可以是一台打印机的打印服务器,同时也可以是另一台打印机的打印客户机。

可以基于域范围或基于每台机器配置对打印机的访问。如果将打印机信息添加到命名服务数据库,则会基于域范围配置访问。

Procedure如何使用 LP 打印命令添加打印机访问

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

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

  2. 添加对打印机的访问。


    # lpadmin -p printer -s print-server -D description
    
  3. 将打印机设置为系统的缺省打印机目标。


    # lpamin -d printer
    
  4. 验证打印机是否已准备好进行打印。


    # lpstat -p printer
    

示例 5–11 使用 lp 打印命令添加打印机访问

如果要打印到远程打印机,则必须添加对远程打印机的访问。此示例说明如何配置对名为 luna 的打印机(其打印服务器是 saturn)的访问。


# lpadmin -p luna -s saturn (1)
# lpadmin -p luna -D "Room 1954 ps" (2)
# lpadmin -d luna (3)
# lpstat -p luna (4)
  1. 识别打印机和打印服务器

  2. 添加打印机描述

  3. 将打印机设置为系统的缺省打印机目标

  4. 验证打印机是否已准备好进行打印


设置 .printers 文件

.printers 文件位于用户的主目录中。该文件包含有关用户的缺省打印机及其他常用打印机的信息。通过 .printers 文件,用户可以建立其自己的打印机别名。例如,可以使用 _default 别名指定用户的缺省打印机。还可以使用特殊的 _all 别名定义取消打印作业或检查打印机状态时受到影响的打印机的列表。

LP 打印服务对 .printers 文件的使用是由命名服务转换器 (/etc/nsswitch.conf) 控制的。缺省配置指定,打印服务在检查其他命名服务之前先检查用户的起始目录,以查找打印机配置信息。因此,您可以修改用户的打印机配置文件,以使用自定义打印机信息而不是命名服务中的共享信息。

有关 .printers 文件的更多信息,请参见 printers(4) 手册页。有关命名服务转换器的更多信息,请参见 nsswitch.conf(4) 手册页。

Procedure如何设置 .printers 文件

此过程显示用户如何设置其各自的主目录中的 .printers 文件。

  1. 使用用户名和口令登录到系统。

  2. 如有必要,可以将目录更改为 $HOME。


    $ cd $HOME
    
  3. 启动要使用的文本编辑器创建 .printers 文件。

  4. (可选)设置 _default 别名以使特定打印机成为缺省打印机。使用与此项类似的项。


    _default printer-name
    
  5. (可选)设置 _all 别名以定义取消打印请求或检查打印机状态时受影响的打印机。使用与此项类似的项。


    _all printer1,printer2,printer3
    
  6. 将文件另存为 .printers

Procedure如何使用 LP 打印命令删除打印机以及删除打印机访问

  1. 以打印客户机上的有权访问要删除的打印机的超级用户 lp 或同等角色的身份登录。

  2. 在作为打印客户机的系统上,删除有关打印机的信息。


    # lpadmin -x printer-name
    
    -x

    删除指定的打印机。

    printer-name

    指定要删除的打印机的名称。

  3. 在打印服务器上以超级用户 lp 或同等角色的身份登录。

  4. 在作为打印机服务器的系统上,停止接受该打印机的打印请求。


    # reject printer-name
    

    reject printer-name 拒绝指定打印机的打印请求。

    此步骤可防止在您删除打印机的过程中任何新请求进入打印机的队列。有关详细描述,请参见如何接受或拒绝打印机的打印请求

  5. 在作为打印服务器的系统上,停止打印机。


    # disable printer-name
    

    此步骤可停止打印请求的打印。有关如何停止打印的详细描述,请参见如何启用或禁用打印机

  6. 将仍在队列中的所有打印请求移动到其他打印机。

    有关如何将打印请求移动到其他打印机的信息,请参见如何将打印请求移动到其他打印机

  7. 在作为打印服务器的系统上,删除打印机。


    # lpadmin -x printer-name
    
  8. 验证是否已删除打印机信息:

    1. 确认在打印客户机上已删除打印机信息。


      $ lpstat -p printer-name -l
      

      在命令输出中,您应该收到一个指示打印机不存在的错误。

    2. 确认在打印服务器上已删除打印机信息。


      $ lpstat -p printer-name -l
      

      在命令输出中,您应该收到一个指示打印机不存在的错误。


示例 5–12 删除打印机和远程打印机访问

以下示例说明如何从打印客户机 terra 和打印服务器 jupiter 中删除打印机 luna。此示例还说明如何从打印服务器中删除打印客户机 terra


terra# lpadmin -x luna
Removed “luna”.
terra# lpstat -p luna -l 
jupiter# lpadmin -x luna
Removed “terra”.
jupiter# lpstat -p luna -l