通过脚本中的 lpadmin 添加打印机

通过脚本中的 lpadmin 添加打印机

我想知道是否有人可以帮助我弄清楚为什么无法通过 lpadmin 正确添加打印机?

我正在编写一个脚本,用于快速初始化我们公司的新设备,您只需输入设备编号,它就会自动设置主机名和打印机。但是,尽管它获得了正确的打印机 IP 地址,但实际上并没有正确设置它。

运行我的 lpadmin 命令后终端中的输出如下:

lpadmin: Unable to connect to "10.223.68.11:9100": Operation now in progress
printer GroceryPrinter is idle.  enabled since Fri 21 Feb 2020 11:14:56 AM CST
    Form mounted:
    Content types: any
    Printer types: unknown
    Description: GroceryPrinter
    Alerts: none
    Location: 
    Connection: direct
    On fault: no alert
    After fault: continue
    Users allowed:
        (all)
    Forms allowed:
        (none)
    Banner required
    Charset sets:
        (none)
    Default pitch:
    Default page size:
    Default port settings:

而且,我正在使用的命令:

lpadmin -p 'GroceryPrinter' -E -v socket://$prt01/ipp/print -L 'Grocery Office' -m everywhere
lpstat -l -p GroceryPrinter

$prt01之前获取并验证的正确的打印机 IP 地址在哪里。

脚本运行时,我看到弹出窗口显示“已添加 GroceryPrinter”,果然,在设置中我看到了以该名称添加的新设备。但是,当我查看属性时,我看到了以下内容: 抱歉我积分不够,以下是截图

我很困惑为什么脚本会出错,以及为什么 URI 被设置为/dev/null而不是socket://我指定的。

我已经在虚拟机和实验室计算机上测试过此脚本,无论在哪里,脚本都会返回相同的结果。我每次都使用 16.04 LTS。

我也尝试了 URI 的一些变化,例如使用ipp://、省略/ipp/print等等。

如果有必要的话,我想要添加的打印机是 Ricoh Aficio MP 301。

非常感谢你们的帮助/想法!!

答案1

完成所有这些操作后,尝试运行cupsaccept GroceryPrinter。执行此操作后,它可能会起作用。cupsenable GroceryPrinter

答案2

我遇到了类似的问题。原因是设备 URI 中的特殊字符。尝试用其相应的 URL 编码替换 URI 特殊字符。

例如:- # as %23

相关内容