本帮助文档描述了如何使用CUPS配置和管理打印目标。
简介
打印目标是单个打印机或打印机类(pools)。打印机使用一个描述文件和一个或多个驱动程序("filters")程序,通过"后端"程序与打印机通信。CUPS目前使用PPD(PostScript打印机描述)文件来描述打印机和所需的驱动程序,其中一些与CUPS一起提供,另一些则随操作系统或Linux发行版提供。后端使用URI(通用资源标识符)指定,URI的方案即为后端名称,例如"ipp://11.22.33.44/ipp/print"指定的是"ipp"后端——与PPD文件类似,某些后端随CUPS提供,而其他则随操作系统提供。
打印机类与一个或多个打印机相关联,通常用于在一组打印机中分发打印作业,或在打印时提供冗余和高可用性。发送到类的打印作业将被转发到该类中下一个可用的打印机。
`lpadmin(8)`命令用于添加、修改或删除打印目标,而`lpinfo(8)`命令用于列出可用的打印机驱动程序和后端。`cupsctl(8)`命令用于整体管理打印系统,包括调试日志记录和打印机共享。CUPS的Web界面("http://localhost:631"或"https://servername:631")也可用于管理,大多数操作系统还提供了自己的GUI管理工具。
管理打印机
`lpadmin`命令用于创建、修改或删除打印机。`-p`选项用于指定要创建或修改的打印机:
lpadmin -p 打印机名称 ...
`lpadmin`在添加或修改打印机时接受以下附加选项:
-D "description":设置打印机的描述,通常会显示为打印机名称的替代,例如"HP LaserJet"。
-E:启用打印机并接受新打印作业。
-L "location":设置打印机的位置,例如"会议室"。
-m model:根据模型名称设置打印机驱动程序。
-o option=value:设置指定选项。
-v device-uri:设置打印机的URI。
`-x`选项用于删除指定的打印机:
lpadmin -x 打印机名称
打印机驱动和PPD文件
`lpadmin`的`-m`选项用于指定打印机的驱动程序("模型")。可以运行`lpinfo -m`命令来列出系统上所有可用的驱动程序("模型"):
```bash
lpinfo -m
```
每行包含驱动程序名称及其描述,例如:
```bash
drv:///sample.drv/dymo.ppd Dymo 标签打印机
drv:///sample.drv/epson9.ppd 爱普生 9针系列
drv:///sample.drv/generic.ppd 通用PostScript打印机
```
`everywhere`驱动程序适用于2009年后销售的几乎所有现代网络打印机。例如,以下命令为IP地址为11.22.33.44的打印机创建打印目标:
```bash
lpadmin -p 打印机名称 -E -v ipp://11.22.33.44/ipp/print -m everywhere
```
### 设备URI(后端)
CUPS附带了几个与打印机通信的标准后端:
- `dnssd`:Bonjour(DNS-SD)协议。
- `ipp`:支持可选加密的互联网打印协议(IPP)。
- `ipps`:强制加密的互联网打印协议。
- `lpd`:行打印机守护协议。
- `socket`:AppSocket(JetDirect)协议。
- `usb`:通用串行总线(USB)打印类。
运行`lpinfo -v`命令可列出可用的后端和打印机:
```bash
lpinfo -v
```
每行包含后端"类"及后端名称或完整的打印机设备URI,例如:
```bash
network ipp
network dnssd://Acme Laser Pro._ipp._tcp.local./?uuid=545253fb-1cb7-4d8d-98ed-ab6cd607cea7
direct usb://ZP/LazerJet MFP?serial=42
```
### 打印机选项
`lpadmin`命令允许为打印机设置各种选项:
- `-o cupsIPPSupplies=false`:关闭打印机的IPP耗材报告。
- `-o cupsSNMPSupplies=false`:关闭打印机的SNMP耗材报告。
- `-o 选项=值`:为指定的PPD选项设置默认值。例如,`-o PageSize=Legal`设置默认页面大小为美国法律纸。
- `-o printer-error-policy=名称`:设置错误时的策略,例如打印机找不到或无法访问等情况。
### 打印机共享
CUPS支持与其他计算机和移动设备共享打印机。`cupsctl`命令的两个选项控制打印机共享功能:
- `--share-printers`:启用与本地网络中的其他计算机和移动设备共享打印机。
- `--remote-any`:扩展打印机共享以适用于任何可以访问服务器的网络。
启用共享后,必须使用`lpadmin`命令及`-o printer-is-shared=true`选项选择要共享的打印机。
### 管理类
`lpadmin`命令用于创建、修改或删除类。