- 关于打印机共享这事,弄得很多运维朋友头都大了。 😕
- 这篇内容记录了我在国产麒麟系统(linux通用)和windows中的打印机共享中碰到的问题和解决方案。
windows做打印服务端的思路:
- 平常大家使用的多数都是
SMB
协议来共享打印机。 - 同时很头疼的就是设置各种权限,访客用户凭证,各种系统类的设置。
- 在不同的系统中共享更是困难,尤其是win10做打印服务器,更是心碎。
- 那么我们采用LPD协议来做这个事情。
国产系统做打印服务端的思路:
- 因为国产系统都默认有安装
CUPS
服务,如果没有也可以直接安装一下。 - 然后客户机通过ipp协议来连接打印服务器,非常方便。
有一点小遗憾:
- win做打印服务器的时候,尝试了各种测试,麒麟系统都无法使用LPD连接win的打印机。
- 但是用麒麟系统做打印服务器,无论是win还是linux来做客户端,都没有问题。
- 所以可以换一个方案:需要做打印共享的设备,只要存在国产麒麟系统,那么则用麒麟来做共享。
windows做打印共享服务器的设置步骤
安装LPD打印服务,LPR端口监视器
控制面板
->功能和程序
->启用或关闭windows功能
- 勾选
LPD打印服务
、LPR端口监视器
。确定后直到安装完成。 - 少数情况下可能会要求重启。
设置打印机共享
- 这里相信都不用说,大家都会。更之前的共享操作没什么区别。
- 共享名尽量少用空格,以及设置更简短。
使用其他windows连接这台打印机
注意,在这些其他电脑上也要安装
LPD打印服务
、LPR端口监视器
这里以win11举例,其他系统win系统都类似。
- 选择
通过手动设置添加本地打印机或网络打印机
。
- 选择
创建新端口
,并下拉选择LPR Port
。
- 在弹出的窗口输入,之前win10主机的IP和打印机的共享名。
- 连接成功的情况下,弹出来驱动安装界面,选择你的打印机对应的驱动安装即可。
麒麟系统做打印共享服务器的设置步骤
CUPS主要的优势在于:
- CUPS基于ipp协议,而不是windows薄弱复杂的SMB服务,所以也没有windows系统共享需要同网段等限制;
- CUPS支持IPP Everywhere,这是一个旨在推进共享打印机
不再需要安装驱动的协议
,目前支持linux系统的打印机基本都支持这个协议。
用过win打印机共享的同学应该对装驱动这一步印象深刻,不同系统winxp、7、10、11,不同的架构x86,x64,你简直不知道要装多少个版本的驱动才能满足所有电脑的需求,然而在CUPS下,这一切都不存在,而且是连手机都不存在。
- 所以结论非常明显,使用linux下的CUPS来共享打印机,远远比用windows共享方便的多,只要你有跨平台、跨网段使用打印机的需求,你就应该尽量使用CUPS来作为共享服务器。
- 国产系统基本上都会默认安装了cups服务。
- 如果没有的话,可以通过命令行快速安装
sudo apt-get install cups
设置打印机共享
- 麒麟系统的打印机共享比较简单,也大概一致。
- 打开打印机的设置,勾选
发布连接到这个系统的共享打印机
,允许从互联网打印
,即可。 - 勾选指定的某一个打印机的共享。
- 这样就建立好了一个网络上的一个http打印服务器。
- 我们可以通过web直接访问它。注意他的
ip
地址,端口默认:631
。 - 例如我这台打印服务器的的访问地址是:
http://10.0.0.98:631
。
- 通过上面的步骤。我们得到了这台打印机的http接口地址:
http://10.0.0.98:631/printers/Lenovo-M7268
- 注意:这个地址就可以在其他win或者国产系统上非常方便的连接。
使用其他windows连接这台打印机
- 一般点击添加设备后,会直接显示这台打印机了。
- 如果没有出现,则我们手动添加,更前面的例子一样。
- 只是在添加的时候,选择
使用IP地址或主机名添加打印机
。
- 选择 设备类型:
IPP设备
。 - 填写 主机名:
http://10.0.0.98:631/printers/Lenovo-M7268
- 注意:
如果提示你安装驱动,那一定是有问题,因为IPP Everywhere是免驱的
。
使用其他国产系统连接这台打印机
- 在新增打印机界面选择
输入URI
。 - 填写刚刚的地址,但是要记得前缀改成
ipp
。 - 会出现一个搜索驱动的对话框,不用理会,实际上是不需要再次安装驱动的。
- 这里就等于安装完毕了。
- 通过查看打印机属性,打印测试页,成功打印。