You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

lpr命令如何强制设置黑白打印?常规配置无效如何解决

问题核心原因

你所有配置不生效的根源是加了-o raw参数:该参数会让CUPS进入原始直通打印模式,完全跳过参数解析、PPD配置读取、打印内容转换的全流程,直接把待打印文件的字节流原样发送给打印机,不管你加saturation=0参数还是修改PPD文件的默认色彩配置,在raw模式下都不会被执行。

可行解决方案
  • 非必要不使用raw模式,直接指定灰度打印参数
    去掉-o raw配置,直接调用CUPS标准色彩控制参数打印即可,命令如下:
    lpr -P printer_name -o ColorModel=Gray file_name
    如果执行后报错或者依然出彩色,可以先运行lpoptions -p printer_name -l查看当前打印机支持的ColorModel可选值,把Gray替换成对应打印机实际支持的灰度选项值即可。
  • 必须使用raw模式的场景
    如果你要打印的是打印机原生支持直打的格式(如PCL、PS、打印机兼容PDF)必须走raw通道,所有色彩调整需要在打印前提前把文件转成灰度,不能靠lpr参数或CUPS配置实现。可以用ghostscript提前完成转换:
    gs -sDEVICE=pdfwrite -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dOverrideICC -o gray_print.pdf your_origin_file
    转换完成后,再用你原来的raw指令打印生成的gray_print.pdf即可。
  • 配置全局默认黑白打印(一劳永逸)
    执行以下命令把打印机的默认打印模式设为灰度,后续GUI触发打印、非raw模式的lpr打印都会默认走黑白:
    lpoptions -p printer_name -o ColorModel=Gray
    注意该配置对raw模式打印无效,原因和之前一致,raw模式完全绕过CUPS处理流程。

补充说明:你之前用meld对比PPD和printer.conf没找到有效配置,是因为raw模式下这两个配置文件根本不会被CUPS加载读取,自然找不到对应的配置生效记录。

内容的提问来源于stack exchange,提问作者Cyril

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 21:33:28