cups 添加带有 ppd 文件的打印机不起作用

问题描述 投票:0回答:2

我正在尝试使用杯子和命令行在 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-line yocto cups ppd
2个回答
1
投票

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

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

首先我需要在 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 打印机


0
投票

我目前面临着同样的问题,(我无法发表评论,因为我的声誉点较少)。

我目前正在检查在我的 Ubuntu 中添加带有 PPD 文件的打印机。 我已将 PPD 文件放置在“/usr/share/cups/model/”位置

lpadmin -p printername -E -v deviceUri -m ppd

准确来说

lpadmin -p TVS_PRINTER -E -v usb://TVS/MSP-240*?serial=TVS-270SERI -m TVSE9W136COL.ppd

通过此命令,我可以发送打印作业并且可以进行打印。

这里,我手动提及打印机名称、URI 和 ppd 文件名。

在我的应用程序中,当打印机连接到我的机器时,我必须添加打印机,因此我想使用几个命令来获取信息。

下面的命令为我们提供设备型号/名称。

sudo /usr/lib/cups/backend/usb | grep "CLASS: PRINTER" | awk -F'"' '{print $2}'

下面的命令为我们提供了设备 URI(统一资源标识符)。

sudo /usr/lib/cups/backend/usb | grep "CLASS: PRINTER" | awk '{print $2}' 

有没有办法让系统自动检测PPD文件放置在“/usr/share/cups/model/”并添加打印机。

另外,我无法在 yocto 中找到 /usr/lib/cups/backend/usb 位置,我已经在我的图像中安装了 Cups 、 GhostScript 、 GutenPrint 和相关内容。

瞄准

我必须检测 usbPrinter 并将特定的 ppd 文件添加到 当检测到新打印机时,它并进行打印机设置 自动。

如果无法检测到所有打印机,应该能够检测到我们在最坏情况下最常用的三台打印机。

我正在努力寻找通用的解决方案。 我希望您遇到这些问题并解决它们。

请帮助我。 等待您的回复。

© www.soinside.com 2019 - 2024. All rights reserved.