我有一台装有 Ubuntu Server 20.04 的 Raspberry Pi,至少在 Ubuntu 中无法远程打印。该服务器在 Windows 中运行良好,经过多次尝试,我得出结论,问题出在 cups 上。
我在文章中看到,很多情况下“过滤失败”错误可以通过更改某些打印机上的驱动程序来修复,但我尝试了但没有结果。我测试了 Brother 官方页面驱动程序提供的两个 PPD(https://support.brother.com/g/b/downloadtop.aspx?c=mx&lang=es&prod=hl1200_us_as) 和 Ubuntu 存储库中“printer-driver-brlaser”软件包提供的另一个驱动程序都给出了不同的错误。第一个驱动程序我们称之为“HL1200.ppd”,它成功地将文件发送到服务器,没有任何问题,并且它响应说打印已完成,但实际上并没有发生这种情况。第二个驱动程序“br1200.ppd”似乎更新,给出了前面提到的“过滤失败”错误。
很长一段时间以来,我都认为问题出在 arm 版本上,因此我开始在 amd64 电脑和 ubuntu 20.04 之间尝试,结果相同,但经过多次试验后,我记得在 ubuntu 18.04 上我可以打印之前成功的地方。我尝试使用一个旧版本的源代码,但这个版本需要更多依赖项以及其他问题,所以我放弃了。
我可以在 ubuntu 中完美打印,只要打印机通过 usb 连接,除了在 arm 上,如果我使用 HL1200.ppd 打印,但是当尝试从 web 服务器打印通过环回(127.0.0.1)创建新打印机时,远程打印问题仍然存在。我的意思是我创建了一台带有 cups 的打印机,它通过共享的 usb 连接,另一台通过 http/ipp 连接到前一台打印机,所有这些都在同一台机器上,因此这不是网络问题,并且这在 arm64 和 amd64 中都存在。我还尝试将位于 /usr/lib/cups/ 中的 rastertobrlaser 文件从 ubuntu 20.04 更改为 18.04 中的另一个,但没有成功。
我可以手动将文件放入服务器并通过 CLI 打印,没有任何问题。我需要能够快速打印,并且知道服务器可供所有人使用。希望您能原谅我的英语不好和冗长的文字,但我想尽可能多地澄清信息。非常感谢。
答案1
我终于找到了解决这个问题的方法。
我设法解决了这个问题,这要感谢 Ubuntu 版本的 raspberry pi(arm64) 提供的 ppd。尝试从另一个 raspberry pi 打印时,我无法添加打印机,因此我尝试使用 lpadmin,但我需要 ppd,因此当打印机自动添加时我得到了它(但是由于某种原因,以这种方式添加时无法打印)。此文件位于“/etc/cups/ppd/”printerfile.ppd”(在我的情况下是“/etc/cups/ppd/HL1200.ppd”)。但是,我检查了客户端计算机获得的文件,这与服务器计算机上找到的文件略有不同。添加后,按照说明操作:lpadmin -p“printer-name”-E -v device -P“ppd 的完整路径”(在我的情况下是“lpadmin -p HL1200 -E -vhttp://192.168.XX/打印机/HL1200-P“/home/user/Desktop/HL1200.ppd”),使用最近获取的 ppd 文件,打印工作完美,它甚至可以在问题的根源 Lubuntu 20.04 AMD64 版本上运行。
如果您遇到类似的问题,有什么建议吗?临时解决方案是使用 Android 设备打印,无需驱动程序,它可以立即顺利运行。