群晖安装打印服务器,驱动HP P1106札记(三)—— 客户端配置

前面介绍了群晖配置、容器配置,接下来进入客户端的配置部分,或者说回到最原始的需求,多终端随时随地发起打印,不再依赖于电脑。

从外部形态来分的话,常见的终端有三类:电脑(windows 操作系统),安卓手机(譬如小米,其他设备型号没测过,方法应该是通用的)、苹果设备(包括手机、ipad、pc,苹果自成体系,且不同类型设备的使用方法通用, 这也是苹果最NB的一点)

但是万变不离其宗,各类客户端的配置方法,本质上都是打印机协议,而打印机协议又关联到技术流派(操作系统)。

所以,所以,从协议视角,常见的设备都可以归到三大操作系统流派:windows系统(microsoft主推),安卓系统(google主推),苹果系统(apple主推)。

一、打印机协议

协议通俗理解就是技术标准,背后牵扯到技术演化和市场博弈,且随着时代的进步,操作系统对协议的支持情况也在融合,譬如windows现在也能识别苹果主推的协议。

1、介绍常见的打印协议(仅从科普、实用角度介绍)

  • ​LPD/LPR​:传统 Unix 打印协议,对应 _printer._tcp,默认情况下侦听515端口

  • ​IPP​:现代网络打印标准,对应 _ipp._tcp,默认情况侦听631端口

  • ​IPPS​:IPP 的 TLS 加密版本,对应 _ipps._tcp,默认情况还是侦听631端口

  • SMB:传统的「\\主机名」方式共享服务协议,对应_smb._tcp,默认侦听445端口,以win10举例,Nas220出现在网络邻居里。在共享主机的基础上,可以使用共享主机下的共享打印机(客户端会先查 _smb._tcp → 拿到主机名 → 直连 445 端口 → SMB 握手 → 然后列出 \\host\share)

  • mDNS:广播本机的 _ipp._tcp / _ipps._tcp 打印队列,相当于在网络中大喊我可以提供_ipp协议打印服务,默认走5353端口。

  • WebDAV:WebDAV 文件共享协议,对应_webdav._tcp,默认走5005端口,Windows“映射网络驱动器”可直接挂载成盘符。

 特别说明:

1)在windows、Mac、安卓、Linux等系统中,广泛被支持的协议主要是:mDns、IPP、IPPS。

也正因为此原因,我们只需要在CUPS中确保上述协议有正确配置,就可以实现多终端打印。

2)其中mDns是由苹果最早主推,IPP是国际组织公共推荐的,苹果、微软都参与其中。

 

2、查看协议广播情况

avahi-browse命令用法:

avahi-browse -r -a -t
-r --resolve 把发现的服务当场解析:把主机名、IP、端口号、TXT 记录等全部拉回来显示。不加 -r 时只列出“名字+类型”,不会展开细节。
-a --all 浏览所有协议类型(_http._tcp、_ipp._tcp、_ssh._tcp …)。不加 -a 时必须显式指定类型,例如 _ipp._tcp。
-t --terminate 解析完就自动退出。不加 -t 会一直保持监听、有新服务上线就继续打印,相当于 tail -f 模式。

如下:

#用avahi-browse -a -t -r 输出的群晖所在本地网端所有主机(包括群晖)通过 mDNS/DNS-SD 广播出来的服务实例
#可以看到有 _printer._tcp、_ipp._tcp 、_ipps._tcp、_webdav._tcp等协议实例。
#其中跟打印机相关,主要为 _printer._tcp、_ipp._tcp 、_ipps._tcp三个协议。
#_webdav._tcp广播群晖主机,_dacp._tcp 主要是itunes的播放控制协议,_vhusb._tcp为虚拟USB服务协议
root@Nas220:# avahi-browse -a -t  -r
+   eth0 IPv4 iTunes_Ctrl_001132F60CC46012                  _dacp._tcp           local
+   eth0 IPv4 iTunes_Ctrl_001132F60CC46011                  _dacp._tcp           local
+   eth0 IPv4 HP1106 @ nas220                          _printer._tcp        local
+   eth0 IPv4 HP1106 @ nas220                          _ipps._tcp           local
+   eth0 IPv4 HP1106 @ nas220                          _ipp._tcp            local
+   eth0 IPv4 nas220                                   _webdav._tcp         local
+   eth0 IPv4 VirtualHere USB Sharing                       _vhusb._tcp          local
=   eth0 IPv4 iTunes_Ctrl_001132F60CC46012                  _dacp._tcp           local
   hostname = [nas220.local]
   address = [192.168.100.**]
   port = [6012]
   txt = ["Ver=131077" "txtvers=1"]
=   eth0 IPv4 nas220                                   _webdav._tcp         local
   hostname = [nas220.local]
   address = [192.168.100.**]
   port = [5005]
   txt = []
=   eth0 IPv4 HP1106 @ nas220                          _ipp._tcp            local
   hostname = [nas220.local]
   address = [192.168.100.**]
   port = [631]
   txt = ["printer-type=0x809006" "mopria-certified=1.3" "URF=V1.4,CP1,W8,PQ4,RS300,FN3" "TLS=1.2" "UUID=44c73902-571a-3ddf-4c46-9368db05da74" "pdl=application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(HP LaserJet Pro P1566)" "priority=0" "note=nas220" "adminurl=https://nas220.local.:631/printers/HP1106" "ty=HP LaserJet Pro P1566 Foomatic/foo2zjs-z2 (recommended)" "rp=printers/HP1106" "qtotal=1" "txtvers=1"]
=   eth0 IPv4 HP1106 @ nas220                          _ipps._tcp           local
   hostname = [nas220.local]
   address = [192.168.100.**]
   port = [631]
   txt = ["printer-type=0x809006" "mopria-certified=1.3" "URF=V1.4,CP1,W8,PQ4,RS300,FN3" "TLS=1.2" "UUID=44c73902-571a-3ddf-4c46-9368db05da74" "pdl=application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(HP LaserJet Pro P1566)" "priority=0" "note=nas220" "adminurl=https://nas220.local.:631/printers/HP1106" "ty=HP LaserJet Pro P1566 Foomatic/foo2zjs-z2 (recommended)" "rp=printers/HP1106" "qtotal=1" "txtvers=1"]
=   eth0 IPv4 HP1106 @ nas220                          _printer._tcp        local
   hostname = [nas220.local]
   address = [192.168.100.**]
   port = [0]
   txt = []
=   eth0 IPv4 iTunes_Ctrl_001132F60CC46011                  _dacp._tcp           local
   hostname = [nas220.local]
   address = [192.168.100.**]
   port = [6011]
   txt = ["Ver=131077" "txtvers=1"]
=   eth0 IPv4 VirtualHere USB Sharing                       _vhusb._tcp          local
   hostname = [nas220-2.local]
   address = [192.168.100.**]
   port = [7575]
   txt = ["001122334455"]

 

二、Windows端打印机配置

1、自动识别方式添加打印机

点击控制面板 -> 查看设备和打印机 -> 添加打印机。

默认情况下,windows会自动列出CUPS端共享的打印机,选中点下一步,然后选择hp对应的驱动程序,即可添加成功。

企业微信截图_17621866206276

 

选中新添加的打印机-> 打印机属性->端口,在端口配置中看到:WSD-aa字样信息,很长的一串字符串,指向远程打印机,打印测试页即可验证安装成功。

企业微信截图_17621864327110

 

2、手工指定IPP地址添加打印机

 在一些早期的windows系统对于mdns协议支持不太好,或者一些奇奇怪怪的原因,会导致自动识别打印机功能失效,采取手工添加打印机方式就好了,具体如下:

当然早期Windows版本也有支持mdns协议的方法:就是在windows上单独安装苹果的Bonjour组件,没错,就是安装itunes之后附带的哪个Bonjour组件。

Bonjour组件可以独立安装,安装之后早期的windows版本就可以自动识别cups共享的打印机,不想安装就用下面介绍的手工添加方式)。

点击控制面板 -> 查看设备和打印机 -> 添加打印机 -> 我所需的打印机未列出 -> 按名字选择共享打印机,输入打印机地址:

http://192.168.100.**:631/printers/HP1106  或者:https://192.168.100.**:631/printers/HP1106 

特别提示:

这个http开头的地址有点长,不太好记,其实有两个简单办法来帮我们输入:

办法1:就是下面图2中画红线部分,windows其实已经举例告诉我们,要怎么写这个字符串。

办法2、到cups端去复制,上一章在cups端配置完打印机后,浏览器地址就是我们要输入的字符串,拷贝下来就可以(下面图3)。

企业微信截图_17621870787634

 企业微信截图_17621871998316

企业微信截图_17621875328237

点击打印机属性,可以看到端口指向刚刚输入的地址:

 企业微信截图_17621881688558

 在windows端的打印机添加就结束了,个人更喜欢第二种方式,而且貌似速度会更快一下。

三、安卓端打印机配置

安卓端的打印机配置相与安卓版本正相关,而且国内手机厂商都对安卓进行深度魔改,这里仅以小米手机(M14)举例,思路应该是可以通用:

方法1:使用系统打印服务

在设置-> 搜索打印 -> 打印配置中,打开系统打印服务,默认情况下,很快就会识别CUPS端共享的打印机。

dadb2ec97c044b8b2dbaae968f93c8ec

bd985eb43284e88725e54fd121746cc3

 

e7b3962a30b302dd2fd065eee78ea62f

 方法2:安装第三方软件(譬如:趣打印、printshare、cupsprint等)

这几个软件简单比较下:

Andriod CUPS Print:优点是Free,缺点:网上下载资源很少,英文软件,速度也很慢,对https协议支持差,有很多魔法操作,不推荐。

趣打印和PrintShare:优点是操作简单,速度很快。缺点:收费,网上有些早期的破解版本,需要在cups端搞一些配套的魔法操作,不推荐。

而且,感觉两个软件就是套壳的孪生兄弟,从界面到配置都一样。

最终:实测下来,还是小米系统(Hyper OS 2.0版本)自带的系统打印服务,速度最快、最稳定。

所以,这里就不对前面两个东西多介绍了,有需要的单独联系,资料来源于网络,仅限于学习。。。 

四、苹果端打印机配置

总算到苹果手机了,体验很棒,使用无比丝滑,mac系统天生支持mdns协议,无需安装任何软件,也无需做任何配置。

唯一缺点,就是共享和打印两个按钮放在一起,一开始容易搞错,具体操作如下:

选中任何想打印的文件(微信、盯盯等 ),长按文件,选择用系统软件打开,选打印 ,系统会自动识别CUPS共享的打印机,选择打印份数、打印页码即可。
特别提示:

要是苹果手机看不到打印机,一定要检查苹果手机与群晖(打印机挂在群晖上)是不是在同一局域网内。

 

五、小结

到这里,有关打印服务器的介绍结束了。

总结下来,坑真多,利用下班时间,前前后后搞了快一个礼拜,哪天有空再补充过程中遇到的各种魔法操作。。。

posted @ 2025-11-04 01:21  黯然销魂掌2015  阅读(14)  评论(0)    收藏  举报

联系方式:qq 16906913