1、命令简介
lpadmin:
用于管理 CUPS 打印系统的打印机和打印队列配置。CUPS 是一种通用的打印系统,用于管理打印任务和打印机。配置lp打印服务。
2、命令语法
lpadmin [ -E ] [-U username ] [ -h server[:port] ] -d destination lpadmin [ -E ] [-U username ] [ -h server[:port] ] -p destination [ -R name-default ] option(s) lpadmin [ -E ] [-U username ] [ -h server[:port] ] -x destination
3、命令描述
lpadmin
用于配置由通用打印系统 CUPS 提供的打印机和打印队列。它还可以用于设置服务器默认打印机或类别。当在 -d
、-p
或 -x
选项之前指定时,-E
选项会在连接到服务器时强制进行加密。命令的第一种形式(-d
)将默认打印机或类别设置为目标。通过 lp 或 lpr 命令提交的后续打印作业将使用此目标,除非用户使用 lpoptions 命令另行指定。命令的第二种形式(-p)配置指定的打印机或类别。下面描述了其他选项。命令的第三种形式(-x
)删除打印机或类别目标。任何待处理的目标作业都将被删除,当前正在打印的作业将被中止。
4、命令选项
选项 | 描述 |
-c class | 将指定的打印机添加到类别。 如果类别不存在,系统会自动创建。 |
-i interface | 为打印机设置 System V 风格的接口脚本。 无法与 -P 选项(PPD 文件)同时使用, 用于支持传统打印机驱动。 |
-m model | 从模型目录设置标准的 System V 接口脚本 或 PPD 文件,或使用其中一个驱动接口。 使用 lpinfo 命令的 -m 选项获取支持的模型列表。 |
-o cupsIPPSupplies=true | -o cupsIPPSupplies=false |
-o job-k-limit=value | 设置每用户配额的千字节限制。 值为千字节的整数; 一个千字节等于 1024 字节。 |
-o job-page-limit=value | 设置每用户配额的页面限制。 值为可打印的整数页数; 双面打印的页面将计为两页。 |
-o job-quota-period=value | 设置每用户配额的计费周期。 值为秒数的整数;一天有 86,400 秒。 |
-o job-sheets-default=banner | -o job-sheets-default=banner,banner |
-o name=value | 为打印机设置 PPD 选项。 可以使用 lpoptions 命令的 -l 选项列出 PPD 选项。 |
-o name-default=value | 为目标设置默认的服务器端选项。可以设置任何打印时的选项。 |
-o port-monitor=name | 设置打印时使用的二进制通信程序,"none"、"bcp" 或 "tbcp"。 默认程序为 "none"。 指定的端口监视程序必须在打印机的 PPD 文件中列出。 |
-o printer-error-policy=name | 设置当打印机后端无法将作业发送到打印机时使用的错误策略。 名字必须是 "abort-job"、"retry-job"、 "retry-current-job" 或 "stop-printer" 之一。 |
-o printer-is-shared=[true|false] | 设置目标是否共享/发布或不共享/不发布。 共享/发布的目标会根据 cupsd.conf 中的浏览 配置在 LAN 上由服务器公开宣布, 而不共享/不发布的目标则不会。 |
-o printer-op-policy=name | 设置与目标关联的 IPP 操作策略。 名字必须在 cupsd.conf 中的 Policy 部分中定义。 默认操作策略为 "default"。 |
-R name-default | 从打印机中删除指定的选项。 |
-r class | 从类别中移除指定的打印机。 如果类别变为空,类别会被移除。 |
-u allow:user,user,@group | -u deny:user,user,@group |
-v "device-uri" | 设置打印队列的 device-uri 属性。 使用 lpinfo 命令的 -v 选项 获取支持的设备 URI 和方案列表。 |
-D "info" | 提供目标的文本描述。 |
-E | 启用目标并接受作业; 等同于在目标上运行 cupsaccept 和 cupsenable 程序。 |
-L "location" | 提供目标的文本位置。 |
-P ppd-file | 指定要与打印机一起使用的 PostScript Printer Description 文件。 如果指定了此选项, 将覆盖 -i 选项(接口脚本)。 |
5、使用示例
1)要添加名为 "HPLaserJetP3015" 的新网络打印机,请使用以下方式使用 lpadmin 命令并使用 -p 选项
# lpadmin -p HPLaserJetP3015 -v socket://19.86.82.172 -P
/usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd
输出:
# lpstat -v
device for HPLaserJetP3015: socket://19.86.82.172
To verify if the printer is configured currently, you can use the command as shown in the below example:
# lpstat -p HPLaserJetP3015 -l
printer HPLaserJetP3015 is idle. enabled since Sun Jan 11 16:11:41 2015
2)要在并行端口(/dev/lp0)上配置打印机,请使用以下示例中的 lpadmin 命令
# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m
/usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd
3)使用 lpinfo 命令可以列出所有可用于配置打印机的端口或接口:
# lpinfo -v
network socket
direct hp
network http
network ipp
network lpd
direct parallel:/dev/lp0
direct scsi
network tpvmgp
network tpvmlp
network smb
4)要将打印机添加到类别中,请使用以下命令:
# lpadmin -h localhost -p HPLaserJetP3015 -c myclass
要验证打印机是否在打印机类别中:
# lpstat -c myclass
members of class myclass:
HPLaserJetP3015
5)要从类别中删除打印机,可以使用以下命令:
# lpstat -c myclass
members of class myclass:
HPLaserJetP3015
HPDESKJET882
Remove the HPDESKJET882 printer from myclass as shown below:
# lpadmin -p HPDESKJET882 -r myclass
Once you remove it, you’ll see only the HP Laser Jet Printer:
# lpstat -c myclass
members of class myclass:
HPLaserJetP3015
6)使用 -x 选项可以删除类别,如下所示:
# lpstat -c myclass
members of class myclass:
HPLaserJetP3015
# lpadmin -x myclass
# lpstat -c myclass
lpstat: Unknown destination "myclass"!
Please note that the printer configuration still exists even if you removed the class.
7)要将打印机的分辨率更改为 300x300dpi,可以使用以下 lpadmin 命令:
# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi
# lpoptions -p HPLaserJetP3015 -l
8)要从打印机配置文件中删除 CUPS 打印机,可以使用 -x 选项:
# lpstat -v
device for HPLaserJetP3015: socket://19.86.82.172
# lpadmin -x HPLaserJetP3015
# lpstat -v
lpstat: No destinations added.
9)允许/拒绝用户或组配置打印机选项:
# lpadmin -p HPLaserJetP3015 -u allow:karthik
# lpadmin -p HPLaserJetP3015 -u deny:karthik
The following will allow users from sysadmin group to configure printer options:
# lpadmin -p HPLaserJetP3015 -u allow:@sysadmin
The following will deny users from developer group to configure printer options:
# lpadmin -p HPLaserJetP3015 -u deny:@developer