温馨提示×

CentOS上VirtualBox虚拟机如何配置打印机

小樊
42
2025-12-31 01:30:22
栏目: 云计算

在 CentOS 的 VirtualBox 虚拟机中配置打印机的可行方案

  • 方案一(推荐):将打印机以 USB 直通 方式连接给虚拟机,让虚拟机直接驱动打印机。适合大多数 USB 打印机,驱动安装在虚拟机内,体验最接近物理机。
  • 方案二:在宿主机启用 CUPS 打印服务 并共享,虚拟机通过 HTTP/IPP 访问宿主机上的共享打印机。适合宿主机为 Linux,且虚拟机为 WindowsLinux 的场景。
  • 方案三:使用 网络打印机(打印机自带网口或连接到局域网打印服务器),虚拟机像访问普通网络设备一样添加打印队列。适合跨系统、跨网段稳定打印。

方案一 USB 直通连接打印机

  • 宿主机准备
    • 安装 VirtualBox Extension Pack(与 VirtualBox 版本一致),以启用 USB 2.0/3.0 控制器与 USB 打印机支持。
    • 将当前登录用户加入 vboxusers 组(注销并重新登录生效):sudo usermod -aG vboxusers $USER。
  • 虚拟机设置
    • 关闭虚拟机 → 设置 → USB → 启用 USB 控制器(USB 2.0 或 3.0) → 点击右侧添加 USB 过滤器,选择你的 打印机设备(保持打印机上电并连接)。
  • 虚拟机内安装驱动
    • Windows 虚拟机:启动后自动发现新硬件,安装厂商驱动。
    • Linux 虚拟机(如 CentOS):安装相应驱动(如 hplip 等厂商工具),然后添加打印机。
  • 验证
    • 在虚拟机中打印测试页,确认状态为“空闲/就绪”。
      说明:USB 直通方式稳定、延迟低,是 VirtualBox 官方推荐的连接物理打印机的做法。

方案二 通过宿主机 CUPS 共享给虚拟机

  • 宿主机(Linux,含 CentOS)配置
    • 安装并启动 CUPS:sudo yum install -y cups;sudo systemctl enable --now cups。
    • 允许远程管理与打印(编辑 /etc/cups/cupsd.conf):
      • Listen localhost:631 改为 Listen 0.0.0.0:631
      • 、<Location /admin>、<Location /printers> 段将 Order deny,allow 改为 Order allow,deny,并添加 Allow from all(或限定网段);
    • 防火墙放行:sudo firewall-cmd --permanent --add-port=631/tcp && sudo firewall-cmd --reload。
    • 浏览器访问 http://宿主机IP:631,在 “Administration” 中勾选 Share printers connected to this system,并添加/共享你的物理打印机。
  • 虚拟机连接共享打印机
    • Windows 虚拟机:添加打印机 → 选择“添加网络、无线或 Bluetooth 打印机”,直接搜索到宿主机共享的打印机,或手动输入 http://宿主机IP:631/printers/打印机名称
    • Linux 虚拟机:在浏览器打开 http://宿主机IP:631/printers,点击打印机名称获取 ipp:// 地址,在系统“打印机”中添加该 URI,选择匹配驱动后打印测试页。
      说明:该方式通过 IPP 共享,跨系统通用,适合宿主机为 Linux 的长期使用场景。

方案三 使用网络打印机

  • 确认网络打印机已接入同一 局域网,并获取其 IP 地址主机名
  • 在虚拟机中直接添加网络打印机:
    • Windows:添加打印机 → 选择“添加网络、无线或 Bluetooth 打印机”,输入 \打印机IPhttp://打印机IP/ipp/port1
    • Linux(CentOS):在“打印机”中添加,选择 网络打印机AppSocket/HP JetDirect,填写 socket://打印机IP;或选择 IPP 并填写 ipp://打印机IP/ipp/port1,然后安装匹配驱动。
  • 打印测试页验证。
    说明:网络打印机方式不依赖宿主机中转,部署简单、维护成本低,适合多机共享与跨网段环境。

常见问题与排查

  • 找不到共享打印机或无法连接
    • 确认宿主机 CUPS 已运行、端口 631 已放行、共享已勾选;虚拟机与宿主机网络互通(桥接或同一局域网)。
    • 在虚拟机中直接用 http://宿主机IP:631/printers 打开共享队列页面测试访问性。
  • USB 打印机未被虚拟机捕获
    • 确认已安装 Extension Pack、启用 USB 2.0/3.0 控制器、添加正确的 USB 过滤器,且当前用户属于 vboxusers 组。
  • 驱动不匹配导致无法打印
    • Linux 虚拟机优先安装厂商工具(如 hplip),或使用 Generic PostScript/PCL 驱动;Windows 虚拟机使用厂商官网驱动。
  • 打印任务卡住或报错
    • 清空打印队列(Linux 可重启 cups:sudo systemctl restart cups),检查打印机状态与纸张/墨粉;必要时在 CUPS 管理界面暂停/恢复队列。
      说明:以上问题多与权限、网络连通性、驱动匹配相关,按序排查通常可快速恢复。

0