我想知道是否有人可以帮助我弄清楚为什么无法通过 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