CUPS 一段时间后就停止打印

CUPS 一段时间后就停止打印

我已将自动打印系统从带有 Acrobat Reader 的 Windows 转换为带有 CUPS 的 Ubuntu。使用 CUPS 大约需要 10 分钟,但现在我遇到了一个奇怪的问题,打印不完整,或者一段时间后没有打印任何内容。 CUPS 报告看似任意的错误。有时它甚至不报告错误,并且报告的大多数错误都是“断管”错误。

通常在CUPS中添加打印机后,它会打印一段时间。当我几个小时后回来尝试完全相同的操作(即使使用相同的文件)时,该文件可能根本无法打印,或者从打印机中打印出来时缺少元素。

这可能是一个不相关的错误,但在一段时间后 CUPS 的 Web 界面也会停止响应。发生这种情况后我只能访问主页的 HTTP 版本。重新启动 CUPS 可以解决此问题。

我正在运行全新安装的 CUPS,仅启用远程管理。即使执行了sudo service cups restart.

我以多种不同的方式(socket、ldp、ipp)添加了打印机,包括通用 PCL6 驱动程序和打印机的官方 KPDL 驱动程序。添加打印机后,打印通常会按预期输出。我正在使用最基本的命令进行打印:lp -d [printer-name] [numbers].pdf

我正在运行 Ubuntu 服务器 16.04。我配置的打印机是 Kyocera ECOSYS FS-1370DN 和 Kyocera ECOSYS P2135dn。不过,打印机似乎不是问题,因为我使用的惠普打印机也出现了同样的问题。

我一直试图找出问题所在,这一时间比我愿意承认的要长。我开始觉得自己很愚蠢。每次我认为我已经解决了这个问题,很快就会出现坏的印刷品。 Acrobat Reader/Windows 后台打印程序从来不会出现打印问题,即使 CUPS 吐出垃圾也是如此。

我尝试过但没有成功的其他方法: - 在打印之前使用 pdf2ps 转换为 PostScript (.ps) - 在打印之前使用 GhostScript 转换为 PDF(修复可能的 PDF 错误) - 打印之前已经打印过的从 Web 下载的测试 PDF。

这是对我来说完全不合逻辑的奇怪现象:通过 ftp 上传 PDF 文件(打印机可以打印 PDF)也只是有时有效。这完全绕过了 CUPS,所以一定是打印机的问题吧?但事实并非如此,通过 Acrobat Reader 打印同一个文件可以正常工作。

目前,我看到的唯一选择是将 Ubuntu 服务器转换为虚拟机,并在其旁边运行昂贵的 Windows Server 虚拟机,仅用于打印......必须有一个解决方案来解决这个问题。

编辑:我在家中的 Ubuntu Server 16.04 上设置了 CUPS,并在其上配置了 Canon MG8100。最初的几张打印效果很好。第二天早上,我添加的每项作业都显示已完成,但实际上打印机什么也没打印出来。这意味着它与打印机没有任何关系。我使用 LPD 添加了 MG8100。

CUPS 错误日志指出以下错误。请记住,所有这些错误都是在不同时间针对完全相同的文件发生的,并且该文件之前以相同的方式成功打印。

E [26/Nov/2016:13:35:44 +0100] [Job 158] The printer is not responding.

记录此情况后,不会进行任何打印,并且 CUPS 会不断重试该作业,直到放弃为止。其他时候它会像这样失败:

W [29/Nov/2016:11:45:01 +0100] [Job 169] /var/spool/cups/d00169-001: file is damaged
W [29/Nov/2016:11:45:01 +0100] [Job 169] /var/spool/cups/d00169-001 (file position 35596): xref not found
W [29/Nov/2016:11:45:01 +0100] [Job 169] /var/spool/cups/d00169-001: Attempting to reconstruct cross-reference table

这将导致打印损坏(随机部分被打印,而其他部分被遗漏)。

答案1

作为解决此问题的众多尝试之一,我将 Verdana 作为字体包含在生成的 PDF 中,而不是让 Linux 用 Nimbus Mono L 替换它。到目前为止,打印已经正常工作了五天。我正在发布这个答案,并欢迎任何关于为什么会发生这种情况的猜测或答案。

几天后我就可以访问打印设置,我将在其中查看日志和其他数据。当然,这种情况也可能是巧合,一旦我发布此内容,打印系统就可以愉快地开始破坏打印内容。我抓住了这个机会。

这也无法解释为什么测试页打印不正确。这可能是因为它们还包含与打印机不兼容的字体,或者错误发生一次后又发生了所有错误。这是相当牵强的,但我目前保留所有选择。

相关内容