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

举报
Tiamo_T 发表于 2021/11/04 10:23:07 2021/11/04
【摘要】 CUPS 代表通用 Linux 打印系统。 lpadmin 是一个命令行工具,用于配置 CUPS 提供的打印机和类队列。 运行 CUPS 的系统是一个主机,它可以接受来自客户端计算机的打印作业、处理它们并将它们发送到适当的打印机。它还可用于设置服务器默认打印机或类。 本篇解释了如何使用 lpadmin 命令示例在 Linux 环境中添加新打印机、设置打印机选项和管理打印机。

CUPS 代表通用 Linux 打印系统。
lpadmin 是一个命令行工具,用于配置 CUPS 提供的打印机和类队列。
运行 CUPS 的系统是一个主机,它可以接受来自客户端计算机的打印作业、处理它们并将它们发送到适当的打印机。它还可用于设置服务器默认打印机或类。
本篇解释了如何使用 lpadmin 命令示例在 Linux 环境中添加新打印机、设置打印机选项和管理打印机。

1. 添加新打印机

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

# lpadmin -p HPLaserJetP3015 -v socket://10.86.1.1 -P 
/usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd

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

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

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

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 始终按照打印机添加到类的顺序检查可用的打印机。

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

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

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

例如,如果您有 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
        HPDESKJET882

从 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://10.86.1.1

# 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个月内不可修改。

举报
请填写举报理由
0/200