使用 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. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。

  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 浏览器界面设置打印机的说明,请参见使用 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 jamDescription: 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"!

版权所有 © 1998, 2011, Oracle 和/或其附属公司。 保留所有权利。 法律声明

WEIXIN: 13011321319   Emai:LPVEN@163.COM  专业打印机扫描仪驱动开发(Windows、linux)

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

  1. 服务计算作业三——CLI 命令行实用程序开发基础

    服务计算作业三--CLI 命令行实用程序开发基础 18342138 郑卓民 本次作业gitee仓库链接(完整代码) 概述 CLI(Command Line Interface)实用程序是Linux下应 ...

  2. 服务计算 HW3 CLI 命令行实用程序开发基础

    文章目录 一. 概述 二. Golang 的支持 ① 使用 os 包处理参数 ② 使用 flag 包处理参数 三. 开发实践 ① 项目要求 ② 设计说明 1) selpg 定义 2) 代码设计 1. ...

  3. 服务计算 - 3 Golang开发Linux命令行实用程序 - selpg

    文章目录 Golang开发Linux命令行实用程序 - selpg 1. 介绍 2. 设计与实现 2.1 设计思路 2.2 功能模块划分与实现 3. 参考文献 Golang开发Linux命令行实用程序 ...

  4. 命令行刷新Magento索引管理

    当网站商品很多的时候,比如有几千件,我们刷新Magento的索引管理(Index Management)很慢,而且经常会失败.那么后台刷新不了,我们还可以通过命令行来刷新.使用命令行来刷新索引管理会极 ...

  5. 使用命令行刷新Magento索引管理 Rebuilt Magento Indexes in terminal with php-cli

    magento索引管理 当我们网站商品很多的时候,比如有几千件,我们刷新Magento的索引管理(Index Management)经常会失败.那么后台刷新不了,我们还可以通过命令行来刷新.使用命令行 ...

  6. 如何在Linux上的命令行中设置Google Chrome浏览器的代理设置?

    How to set Google Chrome's proxy settings in command line on Linux? I am using Google Chrome on Linu ...

  7. Linux环境变量PS1_命令行提示符设置

    PS1是一个Linux终端下的一个环境变量,可以在当前命令提示符上显示所配置的信息. 例如这样: root@G470:~#  或者这样: user1@G470:~$ PS1中可以配置bash识别的转义 ...

  8. VirtualBox命令行VBoxManage创建与管理虚拟机教程

    VBoxManage is the command-line interface to VirtualBox. 前言 本文要操作的虚拟机信息如下:名称: UbuntuRDHome镜像名称: ubunt ...

  9. putty颜色设置|securecrt颜色设置|windows命令行颜色设置

    putty注册表如下 Windows Registry Editor Version 5.00;请修改下面的XXXXXX [HKEY_CURRENT_USER\Software\SimonTatham ...

最新文章

  1. java web 教案_《Java web程序设计》教案.pdf
  2. 02-第二章 基本类型
  3. JAVA基础面试题,java高级面试笔试题
  4. IDEA编译时出现“cannot resolve symbol“的问题时的解决方法。
  5. Win8 下配置Java开发环境
  6. 题目1544:数字序列区间最小值
  7. 20220513-rk3568编译linux4.19的buildroot-2(kernel)
  8. BI(商务智能)系统简介
  9. 浅谈大比例尺数字地形图的缩编方法
  10. Django菜鸟教程
  11. vbs整人代码大集合
  12. GIAC全球互联网架构大会2017上海站圆满结束,PPT合集下载
  13. PCB学习笔记——原理图编译与检查
  14. mac+safari+html5插件,打开 Mac Safari 黑色模式,这款插件有点厉害
  15. 嵌入式软件测试——初探
  16. 开源帮助:什么是退出代码 137,你能修复它吗?
  17. 流行和声(5)minor7和弦
  18. 仿今日头条项目——首页(文章搜索)
  19. 如何快速调整Excel中图表标签位置
  20. Python F5创建monitor、pool、node以及vs(二)

热门文章

  1. 过秦楼 . 碧玉连空
  2. 南开大学计算机学院暑期夏令营,【2021夏令营】关于举办2020年南开大学 “e入计网”优秀大学生云端夏令营的通知...
  3. 【实战经验】--Xilinx--IPcore--MCB(DDR3)运用
  4. [BZOJ1430] 小猴打架
  5. 流程管理细致入微:利or弊?
  6. JVM中的锁(中):锁膨胀和锁消除
  7. MybatisPlus3整合
  8. 深度评测 Acer 掠夺者刀锋500SE 2021 怎么样
  9. NCO/CDO 快速处理数据
  10. J9数字论:以太坊合并?以太坊合并又会带来哪些影响?