温馨提示×

ubuntu打印机驱动报错解决

小樊
37
2025-12-16 04:36:17
栏目: 智能运维

Ubuntu 打印机驱动报错排查与修复指南

一、快速定位问题

  • 查看服务与日志:确认 CUPS 正在运行(sudo systemctl status cups),并从 /var/log/cups/error_log 获取具体报错行(如 filter 启动失败、库缺失、权限拒绝等)。
  • 核对架构与依赖:用 uname -m 确认系统架构(如 x86_64),避免安装错误架构的驱动;遇到 “File not found/No such file or directory” 时,用 ldd <可执行或filter> 检查缺失的共享库并安装对应包。
  • 区分品牌与连接方式:HP 设备优先用 HPLIP;网络打印机可用 IPP9100 直连;USB 设备注意权限与设备节点。
  • 复现与清理:清空打印队列、删除异常队列项,重启 CUPS 后再测。

二、按品牌与场景的修复步骤

  • HP 设备

    • 安装工具:sudo apt update && sudo apt install hplip hplip-gui
    • 图形配置:运行 hp-setup 或打开 “HP Device Manager”,按向导选择型号并完成安装。
    • 网络发现失败:用 hp-setup -i <打印机IP> 精确添加(如:hp-setup -i 192.168.1.100)。
    • 老旧型号(如 HP LaserJet 1020/1020 Plus)若 CUPS 自带驱动“无动作”,改用 HPLIP 官方脚本 安装并配置(运行 sh hplip-<版本>.run 按向导完成)。
  • 非 HP 设备

    • 安装并启动 CUPS:sudo apt install cups && sudo systemctl start cups。
    • 通过网页添加:浏览器访问 http://localhost:631 → Administration → Add Printer,选择设备;网络打印机可用 ipp:///ipp/printsocket://:9100;驱动优先选带 (recommended) 的,或上传 PPD
  • 依赖缺失与 32/64 位不匹配

    • 架构检查:uname -m;卸载错误架构驱动后用匹配架构的 .deb 包安装(sudo dpkg -i 文件.deb;依赖问题执行 sudo apt-get -f install)。
    • 库缺失定位:ldd 检查 filter 可执行文件,缺什么装什么(例如缺 libcupsimage.so.2 则安装对应库包)。
    • 32 位驱动在 64 位系统:安装对应的 32 位依赖库(如 libcupsimage2-32bit)。

三、常见报错与对应处理

  • “File not found / No such file or directory” 或 filter 退出码 127

    • 典型原因:缺少共享库或 32/64 位不匹配。
    • 处理:用 ldd 找出缺失库并安装;若是 32 位驱动,补齐 32 位依赖(如 libcupsimage2-32bit)。
  • “Unable to open the initial device, quitting”(如 HP LaserJet 1000/1005/1018/1020 等老型号)

    • 处理:删除错误配置,改用 foo2zjs/foo2xqx 驱动(编译安装并按需安装 hotplug/firmware,重启 CUPS 后再添加)。
  • 打印机有启动声但不出纸,或不停输出乱文本

    • 处理:清空队列并删除异常任务;更换为正确的 驱动型号 后重试。

四、验证与收尾

  • 打印测试页:在 CUPS 网页或系统“打印机”界面执行测试打印,确认状态为 Idle 且任务完成。
  • 服务与权限:必要时重启 CUPS(sudo systemctl restart cups),确保当前用户对打印机设备有访问权限。

五、最小化命令清单

  • 安装与启动:sudo apt update && sudo apt install hplip hplip-gui cups && sudo systemctl start cups
  • HP 添加:hp-setup 或 hp-setup -i
  • CUPS 添加网络打印机:http://localhost:631 → Add Printer → 选 ipp:///ipp/printsocket://:9100
  • 架构与依赖:uname -m;sudo dpkg -i xxx.deb;sudo apt-get -f install;ldd
  • 日志定位:tail -n 100 /var/log/cups/error_log

0