1. 检查打印队列状态
使用lpstat -o命令查看当前所有打印任务的详细信息(包括作业ID、用户、状态),确认队列是否真的卡住(如任务状态长期处于“queued”或“processing”但无进展)。这一步能快速定位是否有任务堆积或异常。
2. 清理卡住的打印任务
lpstat -o显示具体作业ID(如12),用cancel 12取消该任务;cancel -a PrinterName(将PrinterName替换为实际打印机名,可通过lpstat -p获取);sudo systemctl stop cups
sudo rm -rf /var/spool/cups/*
sudo systemctl start cups
这会清空所有待处理任务,慎用(仅在队列彻底卡死时使用)。3. 重启CUPS服务
CUPS(Common Unix Printing System)是Ubuntu打印队列的核心服务,重启它能解决多数临时性故障:
sudo systemctl restart cups
若系统使用旧版SysVinit,也可用sudo service cups restart。重启后,服务会重新加载配置并处理队列中的任务。
4. 检查打印机连接与状态
ping 打印机IP测试连通性);lpstat -p PrinterName查看打印机状态,若有“error”、“offline”或“paper jam”等提示,需解决对应硬件问题(如重新插拔USB、更换纸张、修复网络)。5. 查看CUPS错误日志
日志是定位问题的关键,CUPS的错误日志位于/var/log/cups/error_log。用以下命令实时查看最新日志:
sudo tail -f /var/log/cups/error_log
重点关注“error”、“failed”、“denied”等关键词,如“Unable to connect to printer”表示连接问题,“Invalid PPD file”表示驱动错误。
6. 更新系统与打印驱动
sudo apt update && sudo apt upgrade,确保系统和CUPS软件包为最新版本(修复已知bug);lpadmin命令重新添加打印机(替换旧驱动)。7. 检查系统资源
若系统内存不足或CPU占用过高,可能导致打印任务处理缓慢。用以下命令查看资源使用情况:
top # 查看CPU和内存占用排名
free -h # 查看磁盘空间(确保/tmp和/var/spool有足够空间)
若资源紧张,可关闭后台占用高的程序,或增加系统资源(如升级内存)。
8. 重置CUPS配置(可选)
若配置错误导致队列反复卡住,可重置CUPS配置:
sudo rm -rf /etc/cups/cupsd.conf # 删除旧配置
sudo cp /etc/cups/default.conf /etc/cups/cupsd.conf # 恢复默认配置
sudo systemctl restart cups # 重启服务
重置后需重新配置打印机(如重新添加、设置权限),注意备份原配置文件(/etc/cups/cupsd.conf)。