Windows主机上安装CUPS服务端共享USB打印机实践心得

背景

平时主力机器是Windows,不想额外开一个Linux服务器来共享打印机。由于主力机平时也不关机,尝试在Windows上安装CUPS服务。

结论

先说结论,结论是可行,但是麻烦且不稳定,虚拟机方案少折腾,但是资源消耗大,WSL次之,最后是Docker方案。

技术难点

  1. 应用软件层面
  • CUPS在Windows上没有找到可行的方案。因此得在Linux中安装CUPS。
    • (Windows的自带的共享打印机服务楼主按照各种教程实践没能成功开启)
  1. 硬件层面
  • USB打印机可以直接接入Windows,但是虚拟机、WSL和Docker无法直接使用USB设备。
  1. 系统持久化
  • 让打印机服务开机就可以自动启动,无需后续手动开启。
  1. 网络层面
  • Windows主机到虚拟机/Docker主机/WSL主机的端口映射。

硬件问题思路

CUPS直接在Windows运行貌似不太可行
大体上应该有三种方式:

  • 虚拟机
    • 以 VMWare为例,安装CentOS 7 后,安装LPR和CUPS驱动。
    • 把打印机的USB接口直接接入虚拟机中。
  • WSL
    • 驱动安装与虚拟机一致。
    • USB接口映射需要依赖 USBIP 工具。下载地址:https://github.com/dorssel/usbipd-win
    • 大体上分为两步:
      • 通过bind命令把指定USB端口共享出去
      • 通过attach,通过网络共享该USB接口。
    • 缺点
      • 梯子可能导致失效
      • 重启后失效
  • Docker
    • 很遗憾,Docker并不能像虚拟机一样直接做到USB端口映射,也需要依赖USBIP工具。
      • 如果host和容器设备都是Linux是可以的,但是由于Win和Linux的USB接口实现方式差异太大,Docker没能做到直接映射。

持久化问题思路

  • 设置计划任务
    • 触发时机:启动时
    • 权限:管理员权限
    • 命令记得带参数

网络层面思路

  • 使用Windows主机的端口映射命令。
    netsh interface portproxy add v4tov4 listenport=<监听端口> listenaddress=<监听地址> connectport=<目标端口> connectaddress=<目标地址>
    • 例如:
      netsh interface portproxy add v4tov4 listenport=631 listenaddress=0.0.0.0 connectport=631 connectaddress=192.168.1.100
    • host主机的631端口映射到内部主机的631端口。
    • host端监听所有可用的网络接口。0.0.0.0 意味着无论是本地网络接口还是外部网络接口,任何连接到该主机的631端口请求都可以被接受。
    • 虚拟机/WSL主机/Docker主机的IP为192.168.1.100,端口为631。
  • 允许win防火墙通过631端口
    • netsh advfirewall firewall add rule name="CUPS Printer" dir=in action=allow protocol=TCP localport=631
在CentOS下安装CUPS来实现局域网共享HP1020打印机的步骤如下: 1. 首先,确保CUPS安装在CentOS系统中。可以使用以下命令来安装CUPS: ``` sudo yum install cups ``` 2. 安装完成后,启动CUPS服务并设置其在系统启动时自动启动。可以使用以下命令来完成此操作: ``` sudo systemctl start cups sudo systemctl enable cups ``` 3. 验证CUPS服务是否成功启动。可以在Web浏览器中输入以下地址来访问CUPS管理界面: ``` http://localhost:631/ ``` 4. 在CUPS管理界面中,单击"Administration"选项卡,然后选择"Add Printer"来添加打印机。 5. 在"Add Printer"页面中,选择要添加的打印机品牌和型号。选择正确的驱动程序以确保打印机能够正常工作。 6. 如果在列表中没有找到适合您的打印机型号的驱动程序,则可以尝试通过“Generic”或“Postscript”驱动程序进行设置。 7. 在接下来的步骤中,您需要提供有关您的打印机的一些基本信息,例如打印机名称、描述和位置。您还可以选择共享打印机以供其他计算机访问。 8. 确认设置后,单击"Continue"按钮并按照提示完成添加打印机的设置。 9. 在有多台计算机的局域网中,其他计算机可以通过访问CUPS管理界面来查找并添加共享打印机。其他计算机只需安装适用于其操作系统的CUPS客户端。 通过上述步骤,您应该能够在CentOS系统上安装CUPS并实现局域网共享HP1020打印机
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值