在 Linux 上设置打印机的 12 个 CUPS lpadmin 命令示例

举报
Tiamo_T 发表于 2022/09/19 23:50:41 2022/09/19
【摘要】 CUPS 代表通用 UNIX 打印系统。 lpadmin 是一个命令行工具,用于配置 CUPS 提供的打印机和类队列。 运行 CUPS 的系统是一个主机,它可以接受来自客户端计算机的打印作业、处理它们并将它们发送到适当的打印机。它还可用于设置服务器默认打印机或类。

CUPS 代表通用 UNIX 打印系统。

lpadmin 是一个命令行工具,用于配置 CUPS 提供的打印机和类队列。

运行 CUPS 的系统是一个主机,它可以接受来自客户端计算机的打印作业、处理它们并将它们发送到适当的打印机。它还可用于设置服务器默认打印机或类。

本教程介绍如何使用 lpadmin 命令示例在 Linux 环境中添加新打印机、设置打印机选项和管理打印机。

1. 添加新打印机

要添加名为“HPLaserJetP3015”的新网络打印机,请使用带有 -p 选项的 lpadmin 命令,如下所示:

# 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

要验证当前是否配置了打印机,您可以使用如下示例所示的命令:

# lpstat -p HPLaserJetP3015 -l
printer HPLaserJetP3015 is idle.  enabled since Sun Jan 11 16:11:41 2015

2. PPD 和日志文件

在上面的示例中,PPD 文件(也称为 PostScript 打印机描述)由供应商创建,用于描述其 PostScript 打印机可用的整套特性和功能,它们通常位于 /usr/share/cups/model/ 目录下.


如果您在配置打印机时遇到任何问题,请检查以下位置的日志以获取任何错误消息。此位置可能会根据 Linux 的不同发行版而改变。

# ls -l /var/log/cups/*
-rw-r--r-- 1 root lp  6851 Jan 11 16:19 /var/log/cups/access_log
-rw-r--r-- 1 root lp 13207 Jan 11 16:19 /var/log/cups/error_log

3. 在并口上配置打印机

要在并行端口 (/dev/lp0) 上配置打印机,请使用 lpadmin 命令,如下例所示:

# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m 
/usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd

4. 查看打印机设置的所有可用端口

还可以使用 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

5. 多个打印机类

CUPS 始终按照将打印机添加到类中的顺序检查可用的打印机。

您可以将一台或多台打印机添加到一个类中,当其中一台打印机不可用时,该类中定义的另一台打印机将处理打印作业请求。

在类中添加打印机不是强制性的。一个打印机类本身可以是其他类的成员,因此您可以定义打印机类以实现打印的高可用性。

配置打印机类后,您可以使用与指向单个打印机相同的方式打印到打印机类。

例如,如果您有 2 台 Laserjet 打印机和 2 台deskjet 打印机。您可以创建一个名为“Class-Laserjet”的类,包含 2 个 Laserjet 打印机,然后创建另一个名为“Class-Deskjet”打印机的类,然后创建另一个包含这 2 个类的类。

这样,即使laserjet 或deskjet 打印机都出现故障,另一类也可以为打印作业提供服务。

6. 将打印机添加到类

要将打印机添加到类中,请使用以下命令。

# lpadmin -h localhost -p HPLaserJetP3015 -c myclass

要验证打印机是否属于打印机类:

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

7. 从类中删除打印机

要从类中删除打印机,您可以使用 lpadmin 命令,如下例所示:

在本例中,myclass 有两台打印机:

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

从 myclass 中删除 HPDESKJET882 打印机,如下所示:

# lpadmin -p HPDESKJET882 -r myclass

将其移除后,您将只看到 HP Laser Jet 打印机:

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

8. 删除整个打印机类

使用 -x 选项,您可以删除该类。如下所示。

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

# lpadmin -x myclass

# lpstat -c myclass
lpstat: Unknown destination "myclass"!

请注意,即使您删除了该类,打印机配置仍然存在。

9.更改打印选项

要更改打印机的打印选项,您可以执行以下命令。

使用 lpoptions 命令列出打印机的所有可用选项,如下所示。

在此示例中,您将看到所有已激活的选项都以星号符号为前缀。如果没有星号,则使用默认设置。

# lpoptions -p HPLaserJetP3015 -l

PageSize/Page Size: *A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 
EnvMonarch Executive Legal
PageRegion/PageRegion: A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 
EnvMonarch Executive Legal
Resolution/Resolution: 150x150dpi 300x300dpi *600x600dpi 1200x1200dpi
InputSlot/Media Source: *Default Tray1 Tray2 Tray3 Manual
Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None

10.更改打印机分辨率

要将打印机的分辨率更改为 300x300dpi,可以使用 lpadmin 命令,如下所示:

# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi

# lpoptions -p HPLaserJetP3015 -l

以下是您可以使用 lpadmin 和 -o 选项为任何打印机设置的其他选项,如上例所述,

  • job-k-limit=value – 设置每用户配额的千字节限制。该值是千字节的整数。
  • job-page-limit=value – 设置每个用户配额的页面限制。该值是可以打印的整数页数;双面页面计为两页。
  • job-quota-period=value – 设置每个用户配额的会计期。该值是整数秒数。
  • job-sheets-default=banner – 设置用于打印作业的默认标题页。
  • name=value – 为打印机设置 PPD 选项。可以使用带有 lpoptions(1) 命令的 -l 选项列出 PPD 选项。
  • name-default=value – 设置打印机的默认服务器端选项。
  • port-monitor=name – 指定的端口监视器必须列在打印机的 PPD 文件中。
  • printer-error-policy=name – 设置当打印机后端无法将作业发送到打印机时使用的错误策略。
  • printer-is-shared=true/false – 将打印机设置为共享/已发布或未共享/未发布。
  • printer-op-policy=name – 设置与打印机关联的 IPP 操作策略。该名称必须在 cupsd.conf 的 Policy 部分中定义。默认操作策略为“default”。

11. 从配置文件中删除打印机

要从打印机配置文件中删除 CUPS 打印机,您可以使用 -x 选项,如下所示:

# lpstat -v
device for HPLaserJetP3015: socket://19.86.82.172

# lpadmin -x HPLaserJetP3015

# lpstat -v
lpstat: No destinations added.

12. 允许/拒绝用户或组配置打印机选项

您可以允许单个用户或组使用 lpadmin 命令配置打印机选项。

以下命令将允许用户 karthik 在 HPLaserJetP3015 打印机上配置打印机选项:

# lpadmin -p HPLaserJetP3015 -u allow:karthik

您还可以阻止用户更改设置/选项或使用以下命令配置打印机。

以下命令将拒绝用户 karthik 在 HPLaserJetP3015 打印机上配置打印机选项:

# lpadmin -p HPLaserJetP3015 -u deny:karthik

如果有需要允许访问的组,可以使用@符号前面的组名。多个用户名或组可以用逗号分隔。

例如,以下将允许来自 sysadmin 组的用户配置打印机选项。

# lpadmin -p HPLaserJetP3015 -u allow:@sysadmin

以下将拒绝开发人员组中的用户配置打印机选项。

# lpadmin -p HPLaserJetP3015 -u deny:@developer
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。