首页 > 解决方案 > 杯子添加带有ppd文件的打印机不起作用

问题描述

我正在尝试在带有杯子和命令行的 yocto 构建上添加打印机。这是我输入的命令:

sudo lpadmin -p Deskjet_3050A -E -v usb://HP/Deskjet%203050A%20J611%20series?serial=CN15J4C3NF05PJ&interface=1 -m hp-deskjet_3050a_j611_series.ppd

我得到的回应是:

[1] 566
-sh: -m: command not found

打印机实际上已添加到系统中。但是当我尝试打印时:

sudo lp -d Deskjet_3050A text.txt

回应是:

request id is Deskjet_3050A-6 (1 file(s))

我认为这意味着打印请求被发送到打印机。打印不会发生。我认为这与未添加 ppd 文件有关。为什么找不到 -m 命令,当我执行 lpinfo -m 时,ppd 文件显示在列表中

或者yocto构建中是否缺少某些东西(添加了杯子)

非常感谢任何帮助,在这方面已经浪费了很多时间

标签: command-lineyoctocupsppd

解决方案


按照 meuh 在评论中的建议转义特殊 & 字符修复了“找不到命令”问题。在此之后,打印机仍然无法正常工作。

作为网络打印机(无驱动程序)访问打印机时,我能够进行打印

首先,我需要在 yocto 构建中添加一些额外的杯子相关食谱

在 layer.conf 我还需要添加 cups-filters 配方:

# Printing
CORE_IMAGE_EXTRA_INSTALL += "cups cups-doc cups-filters"
CORE_IMAGE_EXTRA_INSTALL += "hplip"

当我使用这个构建时,无人驾驶命令变得可用。当我输入“driverless”作为命令时,我得到一个 ipp uri:

driverless
ipp://SomePrintert%203050A%20J611%20series%20%5B12984C%5D._ipp._tcp.local/

使用“lpstat -e”命令,我得到了正在网络上监听的打印机的打印机名称。我认为您也可以使用其他打印机名称。

现在配置网络打印机的命令是:

sudo lpadmin -p {printerName} -E -v {ipp uri} -m everywhere

现在正在网络上进行打印。

我还没有使用 USB 打印机


推荐阅读