为何VirtualBox中Ubuntu 16.04无法打印?HP LaserJet MPF1132异常排查
解决VirtualBox虚拟机中HP LaserJet MPF1132打印队列停止问题
问题背景
你已经完成了这些前置配置:
- 安装了Guest Additions和VirtualBox扩展包
- 通过USB将HP LaserJet MPF1132打印机连接到虚拟机
- 经GUI配置打印机后发送测试页,2-5分钟后打印队列状态变为Stopped
- 确认
cups守护进程运行正常(执行sudo /etc/init.d/cups status验证) /var/log/cups/error_log日志为空- 虚拟机已通过
lsusb检测到该USB打印机
排查与修复步骤
检查USB设备权限映射
即使lsusb能识别打印机,VirtualBox的USB转发可能存在权限缺口,导致CUPS服务无法访问设备:- 执行
lsusb找到HP打印机条目,记下格式类似Bus 00X Device 00Y: ID 03f0:XXXX Hewlett-Packard里的idVendor(03f0)和idProduct(XXXX) - 创建udev规则文件:
sudo nano /etc/udev/rules.d/99-hp-printer.rules,添加以下内容(替换XXXX为你的产品ID):SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="XXXX", MODE="0666", GROUP="lp" - 重启udev服务生效:
sudo udevadm control --reload-rules && sudo udevadm trigger
- 执行
验证CUPS打印机配置细节
GUI配置偶尔会遗漏关键参数,手动检查CUPS后台配置:- 浏览器访问
http://localhost:631打开CUPS管理界面,进入Printers选项卡 - 选中你的HP打印机,点击Administration -> Modify Printer,确认:
- 设备类型选择了正确的USB设备(而非网络/其他类型)
- 驱动是HP官方的
HP LaserJet Pro MFP M1130 Series专用驱动(避免用通用驱动)
- 尝试重新添加打印机,设备URI选择
usb://HP/LaserJet%20Pro%20MFP%20M1132,再匹配对应驱动
- 浏览器访问
命令行测试打印流程
绕过GUI直接测试底层打印服务,定位问题环节:- 生成测试文件:
echo "Test Print Content" > print_test.txt - 用
lpr发送任务:lpr -P [你的打印机名称] print_test.txt - 实时查看CUPS访问日志:
tail -f /var/log/cups/access_log,观察任务提交后的日志输出,是否有隐藏的错误提示
- 生成测试文件:
调整VirtualBox USB控制器版本
部分老打印机对USB3.0兼容性较差,可尝试切换控制器版本:- 关闭虚拟机,打开VirtualBox管理器,进入虚拟机设置 -> USB
- 确认勾选Enable USB Controller,并切换为USB 2.0 (EHCI)(若当前是USB3.0)
- 重启虚拟机后重新连接USB打印机,再测试打印
内容的提问来源于stack exchange,提问作者D.Olvera
相关产品推荐
相关产品推荐

