Debian Minimal 安装打印机驱动的实用步骤
一 安装与准备
- 更新索引并安装打印系统:sudo apt update && sudo apt install -y cups cups-client cups-bsd foomatic-filters。安装完成后启动服务:sudo systemctl start cups;如需开机自启:sudo systemctl enable cups。
- 确认设备连接与发现:
- USB:lsusb 查看是否识别;
- 网络:ping 打印机 IP,或 avahi-browse -rt _ipp._tcp 发现 IPP/Bonjour 设备。
- 浏览器访问本地管理界面:打开 http://localhost:631,后续添加与驱动选择均在此完成。
二 安装驱动
- 优先使用发行版仓库驱动(Debian 仓库通常已包含大量型号的开源驱动与通用驱动):sudo apt install printer-driver-<厂商>-<型号>(示例:sudo apt install printer-driver-hp-laserjet-p1102)。若不确定具体包名,可先 apt search printer-driver 再按需安装。
- 厂商专用驱动(当仓库驱动不满足时):
- HP:sudo apt install hplip hpijs(HP 设备常用组合)。
- Brother:前往官方支持下载 Linux (deb) 的 LPR/CUPS 驱动,解压后执行 sudo sh ./linux-brprinter-installer-*.sh,按向导完成安装(64 位系统可能需预先安装 32 位兼容库,如 lib32stdc++6 等)。
- 老旧或特定型号(如部分 HP LaserJet 1000/1005/1018/1020 等 GDI 类机型):可使用 foo2zjs。步骤:wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz && tar zxf foo2zjs.tar.gz && cd foo2zjs && make && sudo make install(可按需执行 ./getweb 1000/1005/1018/1020 获取固件,完成后重启 CUPS:sudo systemctl restart cups)。
三 添加打印机与测试
- 通过 CUPS Web 界面添加:
- 访问 http://localhost:631 → “Administration” → “Add Printer”;
- 选择设备:USB 直连或网络中的 IPP/Bonjour 打印机(如 ipp://打印机IP/ipp/print);
- 选择驱动:优先选自动匹配的 推荐 或 厂商 驱动;
- 命名、描述与默认项设置完成后,点击 “Print Test Page”。
- 命令行快速添加(示例):sudo lpadmin -p Office-Printer -v ipp://192.168.1.50/ipp/print -m driver.ppd;如需共享:sudo lpoptions -p Office-Printer -o printer-is-shared=true;状态检查:lpstat -p Office-Printer。
四 共享与远程访问
- 在 CUPS Web 界面:进入打印机属性,勾选 Share This Printer,使局域网客户端可发现并使用。
- 允许远程管理/访问(修改 /etc/cups/cupsd.conf):
- 监听端口:将 “Listen localhost:631” 调整为 “Listen 0.0.0.0:631”(同时保留 IPv6 如需要);
- 访问控制:在 段将 “Order allow,deny” 改为 “Order deny,allow”,并添加允许网段(如 Allow 192.168.1.0/24 或 Allow @LOCAL);
- 重启服务:sudo systemctl restart cups。
- 防火墙放行:sudo firewall-cmd --zone=public --add-port=631/tcp --permanent && sudo firewall-cmd --reload。
- 客户端添加:Linux 可用 lpadmin 添加 ipp://服务器IP/printers/队列名;Windows 可直接添加网络打印机,地址形如 http://服务器IP:631/printers/打印机名。
五 常见问题与排查
- 找不到驱动或打印异常:在 CUPS 的 “Add Printer” 中更换 驱动/PPD;必要时重新安装厂商驱动或改用通用 CUPS/PPD 方案。
- USB 未被识别:检查 dmesg | tail、lsusb,确认权限与线缆;必要时重启 CUPS 后再添加。
- 网络打印机不可达:确认 IP、子网、路由与防火墙;用 avahi-browse -rt _ipp._tcp 检查发现情况,或尝试 ipp:// 直连。
- 打印任务卡住:lpstat -o 查看队列,cancel <任务号> 清理;必要时 sudo systemctl restart cups。
- 共享失败:复核 cupsd.conf 的 Listen/Allow 配置与防火墙端口 631/tcp。