学习&活动

Learning Activities


UOS系统CUPS组件错误调试(打印过程中报错)

来源: 重庆市软件正版化服务中心    |    时间: 2023-11-20    |    浏览量: 69516    |   

一、CUPS服务日志

调试打印工作的最佳方法是设置LogLevel为

LogLevel debug2

重新执行打印操作,然后像这样查看输出/var/log/cups/error_log:

sudo tail -n 100 -f /var/log/cups/error_log

D=Debug——调试信息

E=Error——错误信息

I=Information——通知信息

这会输出更详细的日志信息,以供问题排查;

问题处理完毕后,请把日志等级调回warn,否则会产生大量日志文件,挤占磁盘空间。

修改日志等级,命令:sudo vi /etc/cups/cupsd.conf

图片

二、CUPS服务器未运行

问题描述:

打印管理器打开报错:cups服务未运行,无法管理打印机,如下图:

图片

问题原因:

通常是该打印服务被杀毒软件误杀导致或者服务配置文件/etc/cups/cupsd.conf,被篡改

解决办法:

第1步,直接重启cups服务,再打开“打印管理器”;

命令:sudo systemctl start cups.service

第2步,排查/etc/cups/cupsd.conf文件是否异常;通常系统会在/etc/cups/cupsd.conf文件被改动之前生成一个/etc/cups/cupsd.conf.0备份文件,只需要将备份文件覆盖掉配置文件就可以了

命令:cp /etc/cups/cupsd.conf.0 /etc/cups/cupsd.conf

或者执行cp /usr/share/cups/cupsd.conf.default /etc/cups/cupsd.conf

修改配置文件后,需要重启cups服务,命令:sudo systemctl start cups.service

第3步,以上办法仍无法解决,可能是cups相关组件也被破坏,重装相关组件

sudo apt purge cups*
sudo apt install cups cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc cups-server-common libcups2 libcupsfilters1 libcupsimage2 printer-driver-hpcups python3-cups python3-cupshelpers -y

三、CUPS之filter错误1

问题现象:

打印时机器提示说Test page 已停止,停止原因Stopping job because the scheduler could not execute a filter

问题原因:

filter文件权限错误

处理方法:

  1. 将cups日志调整为debug2,重启cups服务;

  2. 再次执行打印操作;

  3. 检查/var/log/cups/error_log日志看到如下报错信息:(例图)

图片

  1. 即/usr/lib/cups/filter/目录下的相关文件有权限错误;

  2. 这些文件的属主和属组都应该是root,修改即可;命令例子:

sudo chown root:root /usr/lib/cups/filter/commandtolpi
sudo chown root:root /usr/lib/cups/filter/lpi-pcl

四、CUPS之filter错误2

问题现象:

有时候打印机识别到了;驱动也安装了,就是不出纸;例图如下更奇怪的是同样的电脑、同样的系统、同样的驱动程序,有的能打印,有的不能打印

问题原因:

filter组件在转换文件格式时,需要生成临时文件,而临时文件目录不允许写入

图片

图片

图片

处理办法:

sudo   setfacl   -m   g:lp:rwx   /var/spool/cups/tmp
sudo setfacl -m d:group:lp:rwx /var/spool/cups/
sudo systemctl restart cups.service

五、CUPS之backend错误

问题现象:

报错1:无效的device-uri方案

报错2:lpadmin:无效的device-url值

报错3:无法发现打印机,lpinfo -v也不行

问题原因:

前面讲过,backend是cups中直接跟打印机通信的组件,发生以上错误时,应当怀疑是backend组件出现了错误;部分日志如下图:

图片

解决方法:

  1. 检查/usr/lib/cups/目录下backend目录是否存在,以及权限设置

  2. 如果backend目录不存在,从正常机器上拷贝、粘贴到对应目录。然后重启cups服务或者重启机器。

  3. 如果backend目录存在,则进一步观察目录下的文件是否被篡改,如是,则同样重建backend目录;

  4. 以上操作完成后,重新检测添加打印机。

系统默认Backend文件如下图:

图片

评论

QQ咨询 扫一扫加入群聊,了解更多平台咨询
微信咨询 扫一扫加入群聊,了解更多平台咨询
意见反馈
立即提交
QQ咨询
微信咨询
意见反馈