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

网友投稿 3725 2022-05-30

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

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

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

# lpadmin -p HPLaserJetP3015 -u deny:@developer

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JMeter 常见函数
下一篇:java线程间通讯的几种方式
相关文章