一、前言
自孩童步入学习之路,时常面临需打印诸多学习资料的挑战。过去的打印经验主要依靠那台功能单一的HP DJ2132复印打印一体机,只能通过U连接电脑,而无网络连接功能,显得十分不便。由于书桌空间有限,再添置一台打印机无疑会占用大量空间。日常作业多通过微信布,需使用特定电脑进行打印操作,效率低下。我们迫切需要一套支持网络打印的解决方案,并期望能够实现手机直接打印。
秉持着不断探索的精神,我曾翻阅大量教程,尝试多种方法。尽管我并非技术高手,但在不断的摸索与实践中,我终于通过Docker安装CUPS服务实现了网络打印,并支持Airplay手机打印功能。现将此方法分享给需要的朋友们。
二、环境背景
我的NAS设备为群晖DS216+II,系统版本为D 6.2.3-25426 Update 3,并自带Docker功能。而打印机则选用的是HP Deskjet 2132一体机。
三、操作步骤详解
1. 在Docker文件夹中新建名为airprint的文件夹,并在其下创建avahi和config两个子文件夹。
2. 开启NAS的ssh端口服务,后续操作将通过命令行方式进行。
3. 启动NAS的bonjour打印共享服务。
4. 禁用群晖NAS自带的cups服务。这需要使用root权限在ssh终端上执行相关命令。若遇到困难,可尝试使用其他强制停止服务的命令。
5. 打开Docker应用,在注册表中搜索cups,选择olbat/cupsd后系统将自动下载。
6. 下载完成后,可在映像中看到刚才下载的映像,但无需进行任何操作,后续配置将通过命令行进行。
7. 对容器进行配置。请注意命令中的大小写及特殊字符的使用。
```
sudo 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"
```
8. 添加打印机。进入系统管理界面,选择添加打印机并确保勾选高级中的共享打印和远程管理选项。首次操作时需输入用户名和密码(均为print)。注意,部分教程中提到的用户名和密码可能是admin和pass,请以实际情况为准。
9. 选择本地打印机并添加。如未被系统识别,请按提示选择相应型号并安装驱动。完成驱动安装后即可进行纸张类型等参数的设置并确认完成打印机的添加工作。请记录下打印机的访问地址以便在其他设备上添加网络打印机。
10. 完成以上步骤后,即表示通过Docker安装打印机的全部工作已经完成。需特别注意,由于群晖系统的自动启动特性,每次系统重启都可能重新开启自带的cups服务,造成与cups容器中的服务冲突。建议添加一个开机计划,每次开机时强制停止系统自带的cups服务。
四、PC端与手机端的使用
在PC端,我使用的是MacBook Pro,只需进入设置中的打印机与扫描仪选项,点击+号即可自动识别并添加打印机。在手机端(以iPhone为例),打开需打印的文档选择打印功能后将自动识别Airplay打印机。对于Android设备用户来说,操作方法应相同但缺少实际截图验证。
五、经验总结