配置为使用 PCL 作为默认语言的 Lexmark MX622 打印机无法使用 CUPS(似乎更喜欢 PostScript)进行打印:
我可以成功打印测试页(openSUSE Leap 15.4 使用 YaST2),但是当我从 Firefox 打印时,除了此错误消息外,什么都没有打印:
ERROR: undefined
OFFENDING COMMAND: @PJL
STACK:
据我了解,该错误来自 PostScript,抱怨未知@PJL
命令(打印机作业语言, 我猜)。
令我困惑的是,我正在使用 Lexmark 的驱动程序(Lexmark-UPD-PPD-Files-1.0-05252022.x86_64)。
打印机定义是:
<Printer lexmark>
UUID urn:uuid:97dac5eb-0489-3c6a-4574-b1fd40e4490e
Info Lexmark MX622ade
Location Büro
MakeModel Lexmark MX610 Series
DeviceURI socket://lp-REDACTED.de:9100
PortMonitor tbcp
State Idle
StateTime 1666696356
ConfigTime 1666696299
Type 8425684
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
Attribute marker-colors \#000000,#000000,none
Attribute marker-levels 100,100,100
Attribute marker-names Imaging Unit,Black Cartridge,Maintenance Kit
Attribute marker-types opc,toner,fuser
Attribute marker-change-time 1666696356
</Printer>
PPD 将自身标识为(没有适用于 620 系列的驱动程序):
*FormatVersion: "4.3"
*FileVersion: "1.0"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PCFileName: "LXMX610.PPD"
*Product: "(Lexmark MX610 Series)"
*Product: "(Lexmark MX610de)"
*Product: "(Lexmark MX611de)"
*Product: "(Lexmark MX611dhe)"
*Manufacturer: "Lexmark"
*ModelName: "Lexmark MX610 Series"
*ShortNickName: "Lexmark MX610 Series"
*NickName: "Lexmark MX610 Series"
*PSVersion: "(3010.010) 20040929"
我是否可以在不更改打印机配置的情况下解决问题?
PPD 包含:
*JCLBegin: "<1B>%-12345X@PJL JOB<0A>"
*JCLToPSInterpreter: "@PJL ENTER LANGUAGE = POSTSCRIPT<0A>"
*JCLEnd: "<1B>%-12345X@PJL EOJ <0A><1B>%-12345X"
操作系统是openSUSE 15.4 x86-64,CUPS版本是cups-2.2.7-150000.3.35.1.x86_64。
答案1
看来端口监视器tbcp
导致了问题;将其设置为none
允许打印。