如何在macOS的CUPS打印历史中显示文档名称?
如何在macOS的CUPS打印历史中显示文档名称?
我之前也被这个问题卡过好一阵,折腾了几个方向才搞定,给你梳理下可行的解决办法:
1. 先排除应用层面的问题
有些轻量或者老版本的App确实不会把文档名称传递给CUPS,导致打印历史里显示「Unknown」。你可以先拿系统自带的「预览」App打开一个PDF文件试试打印——预览几乎都会正确传递文件名,打印完成后去http://localhost:631/jobs?which_jobs=all看看历史。如果这时候能显示文档名,那问题就出在你平时用的那些App上,得去检查它们的打印设置里有没有「发送文档名称」之类的选项。
2. 检查CUPS的隐私配置(macOS专属坑)
macOS为了隐私保护,默认可能会让CUPS隐藏作业名称。你可以通过修改CUPS配置来调整:
- 先备份配置文件防止搞砸:
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.backup - 打开终端输入
sudo nano /etc/cups/cupsd.conf,找到JobPrivateAccess和JobPrivateValues这两行 - 如果
JobPrivateValues里包含job-name,把它删掉(比如原来的JobPrivateValues job-name,job-originating-user-name改成JobPrivateValues job-originating-user-name) - 保存退出(按
Ctrl+O确认,Ctrl+X退出),然后重启CUPS服务:sudo launchctl stop org.cups.cupsd && sudo launchctl start org.cups.cupsd
3. 重置打印机配置试试
有时候打印机的lpoptions配置错乱也会导致这个问题,你可以:
- 先删除当前的Brother打印机,然后从「系统设置」→「打印机与扫描仪」里重新添加
- 或者用命令行直接调整当前打印机的隐私选项:
lpoptions -p Brother_MFC_J6520DW -o job-private=none,这个命令会关闭该打印机的作业信息隐藏
4. 用命令行打印测试定位问题
打开终端,用lp命令打印一个本地文件,比如:
lp -d Brother_MFC_J6520DW ~/Desktop/你的测试文件.pdf
打印完成后去CUPS历史查看:
- 如果这个命令打印的作业能显示文档名,说明是你常用的GUI App没传对参数
- 如果还是显示「Unknown」,那大概率是CUPS系统配置或者驱动的问题
最后补个驱动相关的排查
如果上面的方法都没用,可能是Brother的专用驱动过滤了文档名。你可以试试删掉当前的Brother驱动,重新添加打印机时选择「通用IPP驱动」或者「PostScript通用驱动」,很多时候通用驱动反而能更完整地传递打印参数。
备注:内容来源于stack exchange,提问作者iPadawan




