侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux lpadmin命令教程:如何配置 CUPS 打印机(附实例详解和注意事项)

Linux lpadmin 命令介绍

lpadmin(line printer administration)命令用于配置 CUPS 提供的打印机或打印机组(class),设置默认的目的打印机或删除打印机等。它可以在命令行或者 Web 界面上执行,也可以通过 lpoptions 命令来修改打印机的选项。

Linux lpadmin 命令适用的 Linux 版本

lpadmin 命令适用于安装了 CUPS 的 Linux 系统,如 Ubuntu, Debian, Fedora, CentOS 等。如果系统没有安装 CUPS,可以通过以下命令来安装:

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install cups # Ubuntu, Debian
[linux@bashcommandnotfound.cn ~]$ sudo yum install cups # Fedora, CentOS 7
[linux@bashcommandnotfound.cn ~]$ sudo dnf install cups # CentOS 8

Linux lpadmin 命令的基本语法

lpadmin 命令的基本语法如下:

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

其中,-E 选项用于强制加密连接,-U 选项用于指定用户名,-h 选项用于指定服务器和端口,-d 选项用于设置默认的打印机或打印机组,-p 选项用于配置打印机或打印机组,-R 选项用于删除打印机的默认选项,-x 选项用于删除打印机或打印机组。

Linux lpadmin 命令的常用选项或参数说明

lpadmin 命令的常用选项或参数如下表所示:

选项参数说明
-cclass将打印机添加到打印机组,如果打印机组不存在则自动创建
-iinterface设置系统 V 风格的接口脚本,不能和 -P 选项(PPD 文件)同时使用
-mmodel设置标准的系统 V 接口脚本或 PPD 文件,可以用 lpinfo 命令查看支持的模型
-ocupsIPPSupplies=true/false指定是否报告 IPP 供应水平值
-ocupsSNMPSupplies=true/false指定是否报告 SNMP 供应水平值(RFC 3805)
-ojob-k-limit=value设置每用户配额的千字节限制
-ojob-page-limit=value设置每用户配额的页数限制
-ojob-quota-period=value设置每用户配额的计费周期
-ojob-sheets-default=banner设置打印作业的默认横幅页
-oname=value设置打印机的 PPD 选项,可以用 lpoptions 命令查看
-oname-default=value设置打印机的默认服务器端选项
-oport-monitor=name设置打印时使用的二进制通信程序,none, bcp, 或 tbcp
-oprinter-error-policy=name设置打印错误的策略,abort-job, retry-job, retry-current-job, 或 stop-printer
-oprinter-is-shared=true/false指定打印机是否共享或发布
-oprinter-op-policy=name设置打印机的 IPP 操作策略,必须在 cupsd.conf 文件中定义
-Pppd-file设置打印机的 PPD 文件,不能和 -i 选项同时使用

如果有什么常见技巧或高级技巧,可以参考以下的二级标题:

如何添加网络打印机

如果要添加一个网络打印机,可以使用 -v 选项指定打印机的 URI,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p netprinter -v ipp://192.168.1.100/ipp -E

这个命令将添加一个名为 netprinter 的打印机,它的 URI 是 ipp://192.168.1.100/ipp,-E 选项表示启用该打印机³。

如何修改打印机的默认选项

如果要修改打印机的默认选项,可以使用 -o 选项指定选项的名称和值,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o media=A4 -o sides=two-sided-long-edge

这个命令将修改名为 printer 的打印机的默认选项,将纸张大小设置为 A4,将双面打印设置为长边翻转⁴。

Linux lpadmin 命令的实例

以下是一些 lpadmin 命令的实例,结合了最常搜索的关键词,如“添加打印机”、“删除打印机”、“设置默认打印机”等。

实例1:添加本地打印机

如果要添加一个本地打印机,可以使用 -p 选项指定打印机的名称,-v 选项指定打印机的设备文件,-m 选项指定打印机的驱动模型,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p localprinter -v /dev/lp0 -m raw

这个命令将添加一个名为 localprinter 的打印机,它的设备文件是 /dev/lp0,它的驱动模型是 raw,表示不使用任何过滤器。

实例2:删除打印机

如果要删除一个打印机,可以使用 -x 选项指定打印机的名称,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -x printer

这个命令将删除名为 printer 的打印机,以及它的所有配置和作业。

实例3:设置默认打印机

如果要设置默认的打印机,可以使用 -d 选项指定打印机的名称,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -d printer

这个命令将设置名为 printer 的打印机为默认的打印机,之后使用 lp 或 lpr 命令打印时,如果不指定打印机,就会使用这个打印机。

实例4:查看打印机的信息

如果要查看打印机的信息,可以使用 -p 选项指定打印机的名称,-l 选项表示列出打印机的详细信息,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -l
printer accepting requests since Wed 27 Dec 2023 15:08:20 GMT+08:00
printer-is-shared=true
printer-info='My Printer'
printer-location='Office'
...

实例5:添加打印机组

如果要添加一个打印机组,可以使用 -p 选项指定打印机组的名称,-c 选项指定打印机组包含的打印机,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p class1 -c printer1 -c printer2

这个命令将添加一个名为 class1 的打印机组,它包含了 printer1 和 printer2 两个打印机。

实例6:删除打印机组

如果要删除一个打印机组,可以使用 -x 选项指定打印机组的名称,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -x class1

这个命令将删除名为 class1 的打印机组,以及它的所有配置和作业。

实例7:启用或禁用打印机

如果要启用或禁用一个打印机,可以使用 -E 或 -D 选项指定打印机的名称,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -E printer # 启用打印机
[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -D printer # 禁用打印机

这些命令将启用或禁用名为 printer 的打印机,禁用的打印机不会接受新的打印作业,但是已经存在的打印作业会继续打印。

实例8:设置打印机的位置和描述

如果要设置打印机的位置和描述,可以使用 -L 选项指定打印机的位置,-D 选项指定打印机的描述,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -L 'Office' -D 'My Printer'

这个命令将设置名为 printer 的打印机的位置为 Office,描述为 My Printer,这些信息可以用于区分不同的打印机。

实例9:设置打印机的共享或发布

如果要设置打印机的共享或发布,可以使用 -o printer-is-shared=true/false 选项指定打印机的名称和状态,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-is-shared=true # 共享打印机
[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-is-shared=false # 取消共享打印机

这些命令将设置名为 printer 的打印机是否共享或发布,共享的打印机可以被其他用户或系统访问,取消共享的打印机只能被本地用户访问。

实例10:设置打印机的错误策略

如果要设置打印机的错误策略,可以使用 -o printer-error-policy=name 选项指定打印机的名称和策略,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-error-policy=retry-job # 重试打印作业
[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-error-policy=abort-job # 中止打印作业
[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-error-policy=retry-current-job # 重试当前打印作业
[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-error-policy=stop-printer # 停止打印机

这些命令将设置名为 printer 的打印机的错误策略,当打印机发生错误时,可以选择不同的处理方式,如重试、中止、停止等。

实例11:设置打印机的操作策略

如果要设置打印机的操作策略,可以使用 -o printer-op-policy=name 选项指定打印机的名称和策略,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-op-policy=authenticated # 只允许认证的用户打印
[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o printer-op-policy=default # 使用默认的操作策略

这些命令将设置名为 printer 的打印机的操作策略,操作策略用于控制打印机的 IPP 操作,如打印、取消、暂停等,操作策略必须在 cupsd.conf 文件中定义。

实例12:设置打印机的 PPD 文件

如果要设置打印机的 PPD 文件,可以使用 -P 选项指定打印机的名称和 PPD 文件的路径,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -P /usr/share/cups/model/HP-LaserJet_1020.ppd

这个命令将设置名为 printer 的打印机的 PPD 文件为 /usr/share/cups/model/HP-LaserJet_1020.ppd,PPD 文件用于描述打印机的特性和选项。

实例13:设置打印机的接口脚本

如果要设置打印机的接口脚本,可以使用 -i 选项指定打印机的名称和接口脚本的路径,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -i /usr/lib/cups/backend/lpd

这个命令将设置名为 printer 的打印机的接口脚本为 /usr/lib/cups/backend/lpd,接口脚本用于处理打印机的输入和输出,不能和 -P 选项同时使用。

实例14:设置打印机的端口监视器

如果要设置打印机的端口监视器,可以使用 -o port-monitor=name 选项指定打印机的名称和端口监视器的名称,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o port-monitor=bcp

这个命令将设置名为 printer 的打印机的端口监视器为 bcp,端口监视器用于在打印时与打印机进行二进制通信,可以是 none, bcp, 或 tbcp。

实例15:设置打印机的用户配额

如果要设置打印机的用户配额,可以使用 -o job-k-limit=value, -o job-page-limit=value, -o job-quota-period=value 选项指定打印机的名称和配额的值,例如:

[linux@bashcommandnotfound.cn ~]$ sudo lpadmin -p printer -o job-k-limit=1000 -o job-page-limit=100 -o job-quota-period=86400

这个命令将设置名为 printer 的打印机的用户配额,每个用户在 86400 秒(一天)内只能打印 1000 千字节或 100 页的内容,超过限制的打印作业会被拒绝。

Linux lpadmin 命令的注意事项

以下是一些使用 lpadmin 命令时需要注意的事项:

  • lpadmin 命令需要 root 权限或者 lpadmin 组的成员才能执行,否则会提示“lpadmin: Forbidden”。
  • lpadmin 命令不能和 lpstat, cancel, enable, disable, accept, reject, cupsenable, cupsdisable, cupsaccept, 或 cupsreject 命令同时使用,因为它们会互相干扰。
  • lpadmin 命令不能用于修改打印机的状态,如暂停、恢复、取消等,这些操作需要使用 lp, lpr, lpq, lprm, lpstat, cancel, 或 lpmove 命令。
  • 如果执行 lpadmin 命令时出现“bash: lpadmin: command not found”错误,说明系统没有安装 CUPS,可以按照上面的方法安装 CUPS,这里不再重复。
0

评论区