Debian VirtualBox 共享打印机的两种常用方式
- 方式一:通过 USB 直通 让虚拟机直接使用物理打印机(适合大多数 USB 打印机,驱动装在虚拟机内)。
- 方式二:在 Debian 主机运行 CUPS 共享打印机,虚拟机通过网络连接(适合多机共享、跨系统访问)。
方式一 USB 直通共享打印机
- 前置检查
- 在虚拟机设置中启用 USB 控制器(选择与打印机匹配的接口,如 USB 2.0/3.0)。
- 建议安装 VirtualBox Guest Additions(增强设备支持与稳定性)。
- 连接步骤
- 启动虚拟机,打开菜单:设备 → USB,勾选主机上的打印机设备,使其“连接”到虚拟机。
- 在 Debian 虚拟机内安装相应驱动(如 HP 系列可安装 hplip/hpijs)。
- 在虚拟机中通过 CUPS(http://localhost:631)或系统“打印机”设置添加该 USB 打印机 并打印测试页。
- 适用场景
- 提示
- 若主机是 Windows,也可在 VMware Workstation 中通过“添加打印机”向导直接共享,更省事。
方式二 通过 CUPS 在 Debian 主机共享,虚拟机网络访问
- 在 Debian 主机安装并启动 CUPS
- 安装组件:sudo apt-get update && sudo apt-get install cups cups-client cups-bsd foomatic-filters
- 启动与开机自启:sudo systemctl start cups && sudo systemctl enable cups
- 可选:HP 打印机安装 hplip/hpijs 获取更好驱动支持。
- 配置 CUPS 允许远程访问(修改 /etc/cups/cupsd.conf)
- 备份:sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak
- 开放监听:将 Listen localhost:631 改为 Listen 0.0.0.0:631
- 允许访问:在相应 段将 Order allow,deny 改为 Order deny,allow,并添加 Allow from all(或按网段限制,如 Allow 192.168.1.0/24)
- 重启服务:sudo systemctl restart cups
- 在 CUPS Web 界面添加并共享打印机
- 访问:http://主机IP:631(或 http://localhost:631)
- 管理界面 → Add Printer 添加你的打印机;在“共享打印机”选项中勾选 Share printers connected to this system(如需互联网打印,可勾选 Allow printing from the Internet,注意安全风险)。
- 在虚拟机中连接共享打印机
- 网络建议:将虚拟机网络设为 桥接,与主机处于同一网段,便于发现与连接。
- Linux 虚拟机:同样通过 http://主机IP:631 添加网络打印机,或系统“打印机”中添加。
- Windows 虚拟机:添加网络打印机,直接输入 \主机IP\打印机共享名,或选择“连接到这台打印机”并填写 http://主机IP:631/printers/打印机名。
- 防火墙放行
- 确保主机防火墙放行 TCP 631(CUPS/IPP)端口,否则虚拟机无法连接。
常见问题与排查
- 找不到打印机或无法连接
- 检查虚拟机网络模式(优先 桥接),确认与主机在同一网段;必要时改用 USB 直通。
- 确认 CUPS 监听 0.0.0.0:631 且访问控制已放行;Windows 连接时优先使用 \主机IP\共享名 或 HTTP 631 方式。
- 打印任务卡住或失败
- 重启 CUPS(sudo systemctl restart cups),清理打印队列;检查驱动是否匹配。
- USB 直通不稳定
- 更换 USB 接口/线缆,确认虚拟机已获得设备控制权,必要时重装 Guest Additions。
- 打印质量不佳
- 在驱动中选择正确的 纸张尺寸/质量 设置,更新驱动版本。
实用建议
- 多用户/多系统共享优先选择 CUPS 网络共享(集中管理、维护简单)。
- 单用户且对延迟敏感时选择 USB 直通(驱动装在虚拟机,兼容性更好)。
- 生产环境不建议勾选 Allow printing from the Internet,仅在内网使用;为 /etc/cups/cupsd.conf 设置基于网段的 Allow 规则以降低暴露面。