Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4183638
  • 博文数量: 776
  • 博客积分: 13014
  • 博客等级: 上将
  • 技术积分: 10391
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-22 17:00
文章分类

全部博文(776)

文章存档

2015年(55)

2014年(43)

2013年(147)

2012年(20)

2011年(82)

2010年(429)

分类: LINUX

2014-09-11 10:24:12


使用 CUPS 命令行实用程序设置和管理打印机

本节提供 CUPS 命令的简介并介绍如何设置和管理打印机。

CUPS 命令行实用程序

CUPS 提供用于设置打印机以及使网络中的系统可以访问这些打印机的各种命令。此外,CUPS 还支持多种特定于打印机的选项,通过这些选项,您可以控制打印机配置。下表列出了常用的 CUPS 命令。

注 - 某些 CUPS 命令的名称与传统 LP 打印命令的名称相同,但受 CUPS 管理的命令的行为可能会有所不同。

表 15-1 CUPS 命令行实用程序

命令
任务
cancel(1)
取消打印请求
cuspaccept(8)
允许将打印请求排队到指定的目标
cuspdisable(8)
禁用指定的打印机或类
cupsenable(8)
启用指定的打印机或类
cupsreject(8)
拒绝将打印请求排队到指定的目标
lp(1)
提交打印请求
lpadmin(8)
设置或更改打印机或类的配置
lpc(8)
提供对 CUPS 打印队列和类队列的有限控制
lpinfo(8)
显示 CUPS 服务器已知的可用设备或驱动程序
lpmove(8)
将指定作业或所有作业移至新的目标中
lpoptions(1)
显示或设置打印机选项和缺省值
lpq(1)
显示当前打印队列状态
lpr(1)
提交打印请求
lprm(1)
取消已排队等候打印的打印作业
lpstat(1)
显示队列和请求的状态信息

如何使用 lpadmin 命令设置打印机

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

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

  2. 成为管理员。

    有关更多信息,请参见。

  3. 结合使用 lpadmin 命令与 -p 选项将打印机添加到 CUPS。

    此处仅显示 CUPS lpadmin 命令的最常用选项。有关其他选项的信息,请参见 lpadmin(8) 手册页。

    $ /usr/sbin/lpadmin -p printer-name -E -v device -m ppd
    -p

    指定要添加的打印机的名称。

    -E

    启用目标并接受作业。

    -v

    设置打印队列的 device-uri 属性。

    -m

    通过型号目录或使用其中一个驱动程序接口来设置打印机的 PPD 文件。

    请参见此过程结尾处的示例。

  4. 启用打印机以接受打印请求并打印这些请求。
    $ cupsaccept printer-name $ cupsenable printer-name
  5. 验证是否正确配置了打印机。
    $ lpstat -p printer-name -l

示例 15-1 添加已连接到并行端口的打印机

要添加已连接到并行端口的 HP DeskJet 打印机 DeskJet,需要键入以下命令:

$ /usr/sbin/lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m deskjet.ppd
deskjet.ppd

CUPS 附带的 HP DeskJet 驱动程序的 PPD 文件

示例 15-2 添加使用 PPD 文件的打印机

要使用 IP 地址为 10.1.1.1 的 JetDirect 网络接口添加 HP LaserJet 打印机 LaserJet,需要键入以下命令:

$ /usr/sbin/lpadmin -p LaserJet -E -v socket://10.1.1.1 -m laserjet.ppd
laserjet.ppd

CUPS 附带的 HP LaserJet 驱动程序的 PPD 文件

示例 15-3 添加已连接到串行端口的打印机

要添加已连接到串行端口的点阵打印机,需要键入以下命令:

$/usr/sbin/lpadmin -p DotMatrix -E -m epson9.ppd \ -v serial:/dev/ttyS0?baud=9600+size=8+parity=none+flow=soft

指定串行端口、波特率、位数、奇偶校验和流量控制。如果不需要流量控制,请删除 +flow=soft 属性。

设置缺省打印机

您可以按以下某一方法指定缺省打印机:

  • 通过设置 LPDEST 或 PRINTER 环境变量。

    LPDEST 环境变量确定打印机目标。如果未设置 LPDEST 变量,将使用 PRINTER 变量。PRINTER 变量确定输出设备或目标。如果 LPDEST 和 PRINTER 变量均未设置,则使用未指定的设备。有关通过指定环境变量来设置缺省打印机的说明,请参见。

  • 通过使用新的 lpoptions 命令。

    使用此命令可显示或设置打印机选项和缺省值。有关使用 CUPS 命令设置缺省打印机的说明,请参见。有关更多信息,请参见 lpoptions(1) 手册页。

打印命令将按以下顺序搜索缺省打印机:

  1. 通过 lp 命令和 -d 选项设置的打印机名称

  2. LPDEST 环境变量的值

  3. PRINTER 环境变量的值

有关使用 CUPS Web 浏览器界面设置打印机的说明,请参见。

如何在命令行中设置缺省打印机

缺省打印机可以是本地打印机或远程打印机。

  1. 成为要在其中设置缺省打印机的系统的管理员。
  2. 使用以下某一方法设置系统的缺省打印机:
    • 通过指定 PRINTER 变量:
      $ export PRINTER=printer-name

      其中 printer-name 表示要指定为系统缺省打印机的打印机的名称。如果您不指定 printer-name,系统将设置为没有缺省打印机。


      注 - 结合使用 lp 命令与 -d 选项时,将指定目标打印机(此打印机可能不是缺省打印机)。如果未指定 -d 选项,print 命令将搜索 PRINTER 环境变量中打印机的相关信息。

    • 通过指定 LPDEST 变量:
      $ export LPDEST=printer-name

      其中 printer-name 表示要指定为系统缺省打印机的打印机的名称。如果您不指定 printer-name,系统将设置为没有缺省打印机。


      注 - 如果同时设置了 LPDEST 和 PRINTER 环境变量,将优先使用 LPDEST 变量。

    • 通过使用 lpoptions 命令:
      $ lpoptions -d printer-name
      -d

      指定目标打印机。

      printer-name

      表示指定为系统缺省打印机的打印机的名称。如果您不指定 printer-name,系统将设置为没有缺省打印机。

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

  3. 验证系统的缺省打印机。
    $ lpstat -d
  4. 要打印到缺省打印机,请键入以下命令:
    $ lp filename

示例 15-4 通过指定 PRINTER 变量设置缺省打印机

以下示例显示了如何使用 PRINTER 变量将打印机 luna 设置为系统的缺省打印机。

$ export PRINTER=luna $ lpstat -d system default destination: luna

示例 15-5 通过指定 LPDEST 变量设置缺省打印机

以下示例显示了如何通过指定 LPDEST 变量将打印机 luna 设置为系统的缺省打印机。

$ export LPDEST=luna $ lpstat -d system default destination: luna

示例 15-6 使用 lpoptions 命令设置缺省打印机

以下示例显示了如何将打印机 luna 设置为系统的缺省打印机。如果未设置 LPDEST 或 PRINTER 环境变量,则打印机 luna 将用作系统的缺省打印机。

$ lpoptions -d luna $ lpstat -d system default destination: luna

lpoptions 命令用于创建一个 ~/.lpoptions 文件,此文件中包含对应于缺省打印机 luna 的项。缺省情况下,所有打印作业现已定向到 luna 打印机。

如何打印至指定的打印机

  1. 可选验证打印机的状态。
    $ lpstat -p printer-name
  2. 发出 lp 命令时提供目标打印机的名称。
    $ lp -d destination-printer filename
    -d

    指定目标打印机。

    destination-printer

    表示要指定为目标打印机的打印机的名称。

    filename

    指定要打印的文件名。


    注 - 您还可以结合使用 lpr 命令与 -p 选项向特定的打印机提交打印请求。有关更多信息,请参见 lpr(1 ) 手册页。

示例 15-7 使用 lp 命令打印到指定的打印机

以下示例显示了如何将打印机 luna 设置为目标打印机。

$ lp -d luna abc.ps request id is luna-1 (1 file(s))

$ lpstat -d system default destination: saturn

lp 命令的 -d 选项优先于 LPDEST 和 PRINTER 环境变量。

请注意,在此示例中,缺省打印机为 saturn。

如何验证打印机的状态

lpstat 命令显示有关可访问的打印机和作业的信息。

  1. 登录到网络上的任何系统。
  2. 可选验证所有打印机或特定打印机的状态。

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

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

    显示系统的缺省打印机。

    -p printer-name

    显示打印机是处于活动状态还是空闲状态以及启用或禁用打印机的时间。

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

    -l

    显示打印机和作业的特征。

    -t

    显示 CUPS 的相关状态(包括所有打印机的状态)信息,例如打印机是否处于活动状态以及是否接受打印请求。

示例 15-8 显示打印机的状态

要显示打印机 luna 的状态,请键入以下命令:

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

要显示系统的缺省打印机,请键入以下命令:

$ lpstat -d system default destination: luna

要显示打印机 asteroid 和 luna 的说明,请键入以下命令:

$ lpstat -p "asteroid, luna" -D printer asteroid faulted. enabled since Jan 5 11:35 2011. available.
unable to print: paper misfeed jam

Description: Printer by break room
printer luna is idle. enabled since Jan 5 11:36 2011. available.
Description: Printer by server room.

要显示打印机 luna 的特征,请键入以下命令:

$ lpstat -p luna -l printer luna is idle.  enabled since September 29, 2011 05:20:57 PM BST

如何将文件打印到缺省打印机

  1. 登录到网络上的任何系统。
  2. 可选验证打印机的状态。
    $ lpstat -p printer-name
  3. 按以下某一方法发出一个打印请求:
    • 通过使用 lp 命令:
      $ lp filename
    • 通过使用 lpr 命令:
      $ lpr filename


    注 - 此过程中仅显示基本命令。有关其他选项的信息,请参见 lp(1) 和 lpr(1) 手册页。

如何删除打印机和打印机访问

  1. 成为打印客户机上有权删除打印机的管理员。
  2. 在作为打印客户机的系统上,删除有关打印机的信息。
    $ lpoptions -x printer-name
    printer-name

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

    -x

    删除指定的打印机。


    注 - -x 选项仅删除特定打印机和实例的缺省选项。除非使用 lpadmin 命令删除原始打印队列,否则将仍然保留该队列。

  3. 成为管理员。
  4. 在作为打印机服务器的系统上,停止接受打印机的打印请求。
    $ cupsreject printer-name

    此步骤可防止在您删除打印机的过程中任何新请求进入打印机的队列。

  5. 停止打印机。
    $ cupsdisable printer-name
  6. 删除打印机。
    $ lpadmin -x printer-name
  7. 验证是否已删除打印机,如下所述:
    1. 确认在打印客户机上已删除打印机。
      $ lpstat -p printer-name -l

      该命令输出显示一条表明打印机不存在的消息。

    2. 确认在打印服务器上已删除打印机。
      $ lpstat -p printer-name -l

      该命令输出显示一条表明打印机不存在的消息。

示例 15-9 删除打印机

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

terra# lpoptions -x luna terra# lpstat -p luna -l jupiter# lpadmin -x luna jupiter# lpstat -p luna -l
lpstat: Invalid destination name in list "luna"!
阅读(13713) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~