找回密码
 立即注册
首页 业界区 安全 群晖安装打印服务器,驱动HP P1106札记(三)—— 客户 ...

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

宇文之 15 小时前
前面介绍了群晖配置、容器配置,接下来进入客户端的配置部分,或者说回到最原始的需求,多终端随时随地发起打印,不再依赖于电脑。
从外部形态来分的话,常见的终端有三类:电脑(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 模式。
如下:
  1. #用avahi-browse -a -t -r 输出的群晖所在本地网端所有主机(包括群晖)通过 mDNS/DNS-SD 广播出来的服务实例
  2. #可以看到有 _printer._tcp、_ipp._tcp 、_ipps._tcp、_webdav._tcp等协议实例。
  3. <em>#其中跟打印机相关,主要为 _printer._tcp、_ipp._tcp 、_ipps._tcp三个协议。</em>
  4. #_webdav._tcp广播群晖主机,_dacp._tcp 主要是itunes的播放控制协议,_vhusb._tcp为虚拟USB服务协议。
复制代码
  1. root@Nas220:# avahi-browse -a -t  -r
  2. +   eth0 IPv4 iTunes_Ctrl_001132F60CC46012                  _dacp._tcp           local
  3. +   eth0 IPv4 iTunes_Ctrl_001132F60CC46011                  _dacp._tcp           local
  4. +   eth0 IPv4 HP1106 @ nas220                          _printer._tcp        local
  5. +   eth0 IPv4 HP1106 @ nas220                          _ipps._tcp           local
  6. +   eth0 IPv4 HP1106 @ nas220                          _ipp._tcp            local
  7. +   eth0 IPv4 nas220                                   _webdav._tcp         local
  8. +   eth0 IPv4 VirtualHere USB Sharing                       _vhusb._tcp          local
  9. =   eth0 IPv4 iTunes_Ctrl_001132F60CC46012                  _dacp._tcp           local
  10.    hostname = [nas220.local]
  11.    address = [192.168.100.**]
  12.    port = [6012]
  13.    txt = ["Ver=131077" "txtvers=1"]
  14. =   eth0 IPv4 nas220                                   _webdav._tcp         local
  15.    hostname = [nas220.local]
  16.    address = [192.168.100.**]
  17.    port = [5005]
  18.    txt = []
  19. =   eth0 IPv4 HP1106 @ nas220                          _ipp._tcp            local
  20.    hostname = [nas220.local]
  21.    address = [192.168.100.**]
  22.    port = [631]
  23.    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"]
  24. =   eth0 IPv4 HP1106 @ nas220                          _ipps._tcp           local
  25.    hostname = [nas220.local]
  26.    address = [192.168.100.**]
  27.    port = [631]
  28.    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"]
  29. =   eth0 IPv4 HP1106 @ nas220                          _printer._tcp        local
  30.    hostname = [nas220.local]
  31.    address = [192.168.100.**]
  32.    port = [0]
  33.    txt = []
  34. =   eth0 IPv4 iTunes_Ctrl_001132F60CC46011                  _dacp._tcp           local
  35.    hostname = [nas220.local]
  36.    address = [192.168.100.**]
  37.    port = [6011]
  38.    txt = ["Ver=131077" "txtvers=1"]
  39. =   eth0 IPv4 VirtualHere USB Sharing                       _vhusb._tcp          local
  40.    hostname = [nas220-2.local]
  41.    address = [192.168.100.**]
  42.    port = [7575]
  43.    txt = ["001122334455"]
复制代码
 
二、Windows端打印机配置

1、自动识别方式添加打印机
点击控制面板 -> 查看设备和打印机 -> 添加打印机。
默认情况下,windows会自动列出CUPS端共享的打印机,选中点下一步,然后选择hp对应的驱动程序,即可添加成功。
1.png

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

 
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)。
3.png

 
4.png

5.png

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

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

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

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

8.jpeg

 
9.jpeg

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

这几个软件简单比较下:
Andriod CUPS Print:优点是Free,缺点:网上下载资源很少,英文软件,速度也很慢,对https协议支持差,有很多魔法操作,不推荐。
趣打印和PrintShare:优点是操作简单,速度很快。缺点:收费,网上有些早期的破解版本,需要在cups端搞一些配套的魔法操作,不推荐。
而且,感觉两个软件就是套壳的孪生兄弟,从界面到配置都一样。
最终:实测下来,还是小米系统(Hyper OS 2.0版本)自带的系统打印服务,速度最快、最稳定。
所以,这里就不对前面两个东西多介绍了,有需要的单独联系,资料来源于网络,仅限于学习。。。 
四、苹果端打印机配置

总算到苹果手机了,体验很棒,使用无比丝滑,mac系统天生支持mdns协议,无需安装任何软件,也无需做任何配置。
唯一缺点,就是共享和打印两个按钮放在一起,一开始容易搞错,具体操作如下:
选中任何想打印的文件(微信、盯盯等 ),长按文件,选择用系统软件打开,选打印 ,系统会自动识别CUPS共享的打印机,选择打印份数、打印页码即可。
特别提示:
要是苹果手机看不到打印机,一定要检查苹果手机与群晖(打印机挂在群晖上)是不是在同一局域网内。
 
五、小结

到这里,有关打印服务器的介绍结束了。
总结下来,坑真多,利用下班时间,前前后后搞了快一个礼拜,哪天有空再补充过程中遇到的各种魔法操作。。。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

9 小时前

举报

过来提前占个楼
您需要登录后才可以回帖 登录 | 立即注册