当前位置: 首页 > news >正文

群晖安装打印服务器,驱动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           localhostname = [nas220.local]address = [192.168.100.20]port = [6012]txt = ["Ver=131077" "txtvers=1"]
=   eth0 IPv4 nas220                                   _webdav._tcp         localhostname = [nas220.local]address = [192.168.100.20]port = [5005]txt = []
=   eth0 IPv4 HP1106 @ nas220                          _ipp._tcp            localhostname = [nas220.local]address = [192.168.100.20]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           localhostname = [nas220.local]address = [192.168.100.20]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        localhostname = [nas220.local]address = [192.168.100.20]port = [0]txt = []
=   eth0 IPv4 iTunes_Ctrl_001132F60CC46011                  _dacp._tcp           localhostname = [nas220.local]address = [192.168.100.20]port = [6011]txt = ["Ver=131077" "txtvers=1"]
=   eth0 IPv4 VirtualHere USB Sharing                       _vhusb._tcp          localhostname = [nas220-2.local]address = [192.168.100.161]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共享的打印机,选择打印份数、打印页码即可。
特别提示:

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

 

五、小结

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

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

http://www.jsqmd.com/news/30535/

相关文章:

  • 2025年11月优质太空舱铝板供应商排名:工厂实力与用户评价深度解析
  • 2025年11月太空舱铝板生产厂家推荐排行:专业品牌口碑评测报告
  • 2025年11月有实力太空舱铝板生产厂家榜单:服务与成本深度评测
  • 2025年11月太空舱铝板供应商排名:专业对比与实地考察报告
  • 团队项目博客 PQ v.Net
  • [数据仓库/实时数仓] Hologres:阿里巴巴版实时数仓产品
  • [Flink/Hologres/汽车] 零跑汽车:Flink+Hologres 驱动零跑科技实时计算的应用与实践 [转]
  • 接口实现C#泛型四则运算
  • [Flink/Hologres/汽车] 骋在数据洪流上:Flink+Hologres驱动零跑科技实时计算的应用与实践 [转]
  • openssl 3和qt5好像打架哎
  • 给一个百分制成绩,要求输出成绩等级‘A,B,C,D,E
  • 大模型应用开发技术路线(上):从概念到RAG实战,这套方法论让我从0到1落地企业级AI应用
  • 20251103 之所思 - 人生如梦
  • COMSOL Multiphysics 6.3 软件下载安装教程(包含许可证设置),从获取安装包到成功启动
  • COMSOL Multiphysics 6.3 软件下载安装教程(包含许可证设置),从获取安装包到成功启动
  • 11月3日
  • 2025.11.3
  • 2025.11.3总结
  • Python中的数据串用:以推荐系统中“用户偏好管理”为例
  • JOIST/JOISC 板刷计划
  • 11.3日学习笔记
  • Serilog 日志库简单实践(二):控制台与调试 Sinks(.net8)
  • Stable Diffusion v4.8 保姆级下载安装教程:新手零失败实操指南(含 ControlNet 配置)
  • 6-10 阶乘计算升级版 (20 分)
  • 每日收货
  • 【C130x 离在线】Python使用import opuslib 报错解决方案
  • 读《Python神经网络编程(异步图书) 塔里克拉希德》有感
  • 【CI130x 离在线】Python使用import opuslib 报错解决方案
  • 002 vue3-admin项目的目录及文件说明之.gitignore文件
  • 2025.11.03 正睿