Brother 打印机适用于除 gimp 之外的所有程序

Brother 打印机适用于除 gimp 之外的所有程序

在我的 Debian 9.4 Linux(“Stretch”)上,我几乎可以从每个程序进行打印,当然可以从铬合金,自由办公室,emacs,奥库拉并通过LPR。但是,我无法打印瘸子

打印机是一个兄弟 DCP-L2500DUSB打印机。打印完成计算机辅助系统

打印时从瘸子我收到一条错误消息/var/log/cups/error_log

Can't use an undefined value as a subroutine reference at /usr/lib/cups/filter/brother_lpdwrapper_DCPL2500D line 565.

有问题的文件是一个简陋的 Perl 脚本,错误位于函数中check_custom_paper()。它试图在那里找到一个单元函数,通过遍历哈希值。此时相关的值是

从 gimp 打印时

$ppdcust                  = "Custom.a4"
$lpr_options_ref->{'-pt'} = "CUSTOM0"

使用 lpr 打印时

$ppdcust                  = (null)
$lpr_options_ref->{'-pt'} = "A4"

当我看剧本时,我很明显,瘸子值,它不会找到单元函数。当它稍后调用这个(未定义)函数时,它会产生上述错误。

现在,有人可能会说 Brother 制作了一个糟糕的 Perl 脚本。但随后我预计会在网上看到一些抱怨,但我没有看到。我今天重新安装了打印机驱动程序,它与我几年前安装的版本相同。再说一次,有人可能会说,Brother 不仅写了糟糕的 Perl 脚本,而且也不修复它们。

令我困扰的是,印刷大多有效。甚至我的打印机的扫描仪部分也能工作。所以罪魁祸首也可能是瘸子Custom.a4CUSTOM0值,一个行为良好的程序不应该传递给CUPS

我也尝试安装古腾印记,但这只会让事情变得更糟:我根本无法再打印。

  • 有谁知道为什么瘸子和我的兄弟打印机彼此不一致?

答案1

很抱歉问了一个不太值得 StackExchange 的问题。但在有人投入实际工作之前,这里是问题的解决方案:

我终于做到了显而易见的事情并将整个~/.gimp-2.8目录移开。嗯瞧 - 印刷工作。

吉普用新文件重新填充此目录,以便找到罪魁祸首,我恢复了旧文件,并开始用新文件逐个替换其中的每个文件。

我立即对一个名为 的文件产生了怀疑print-page-setup。首先,它显然与打印有关,其次,它包含一行,PPDName=a4而新文件包含PPDName=A4在其中,我已经看到了这一点小写 a4$ppdcust作为调试时值的一部分brother_lpdwrapper_DCPL2500D(请参阅我原来的问题描述)

替换print-page-setup进去 ~/.gimp-2.8就做到了。傻我啊!

然而,我仍然不知道这个值最初是如何进入那里的,但谁在乎呢。

相关内容