问题是在“折腾”中解决的!
手头有一台黑群(DS918+,DSM7.2.1)和一台惠普LaserJet Pro P1106打印机。由于群晖自带打印机驱动列表找不到P1106,所以只能另辟蹊径,在Container Manager中安装CUPS服务,将群晖作为打印服务器。此方案由本人“折腾”一个多星期,参考了众多网友的文章,成功实现了多平台(Win、安卓、ios)无线WiFi打印。此方案已稳定运行3天,供需要者借鉴。
一、停掉群晖自带的CUPS服务
1.使用ssh连接nas。推荐使用putty工具。https://www.123pan.com/s/ZzwPjv-WJe7v.html提取码:lfx0
输入群晖用户名、密码,运行sudo -i再次输入密码后提升root权限。
2.停掉NAS自带cups。逐行输入下面两条命令,并回车。
synosystemctl stop cupsd
synosystemctl disable cupsd
为了防止系统重启之后,系统自带的CUPS启动,在群晖控制面板—任务计划里,开机脚本里面加上这两条命令。
3.修改群晖自带cups端口。打开putty,用SSH连接群晖,输入群晖用户名、密码,运行sudo -i再次输入密码后提升root权限。执行vim /etc/cups/cupsd.conf,进去后按i键到编辑模式,用#注释掉Listen *:631那行,增加Listen *:632。完成修改按ESC再冒号:wq保持退出。
二、打开系统Bonjour
三、建立容器
1.打开群晖Container Manager,点击注册表,搜索cupsd,双击第一个olbat/cupsd下载。下载完成后,映像里出现olbat/cupsd。
2.打开File station,在Docker文件夹下,新建airprint文件夹,此文件夹下,再新建avahi、config、services三个文件夹,并为相关用户设置权限。
3.打开putty,用SSH连接群晖,输入群晖用户名、密码,运行sudo -i再次输入密码后提升root权限。下面的代码,逐行,复制,粘贴,回车,成功运行后完成会输出一长串数字。
docker run -d --name=airprint --net="host" --privileged=true -e TZ="Asia/Shanghai" -e HOST_OS="Synology" -e "TCP_PORT_631"="631" -v "/volume1/docker/airprint/config":"/config" -v /dev:/dev -v "/volume1/docker/airprint/avahi":"/etc/avahi/services" -v /var/run/dbus:/var/run/dbus "olbat/cupsd"
四、添加打印机及驱动
1.打开浏览器,输入群晖IP:631,进入打印机管理页面。点击Administration,默认用户名和密码都是print,点击Add Printer,勾选右边的三个蓝色对号。
勾选上Share This Printer,下一步
注意:打印机驱动一定要选择下图标注的这个,不能选别的。纸张选择A4,其他选择默认即可。
安装成功后,下图所示,重点核对Drive是否正确,如果不正确,进入Modify Printer菜单修改。
到这里,就算打印机就算安装完成了。您可以重启NAS,进入控制面板——外接设备——打印机,如果“删除“和”打印机管理器“两个按钮都是灰色的,就说明群晖自带的CUPS没有启用,下一步就可以在多个平台上添加打印机,实现无线打印了。
下一篇文章重点介绍如何在安卓手机、windows电脑、iOS设备上安装HP p1106打印机。