社长有一台京瓷ECOSYS FS-1020MFP的打印机,没有连网功能,只能通过USB连接到电脑上打印,放在电脑旁平时偶尔打印一些资料啥的,这次给打印机移动到群辉NAS旁边了,准备在群辉NAS上折腾一下CUPS,来共享打印机,你在软路由、威联通NAS、树莓派、玩客云等linux系统上都可以部署。 CUPS,全称为Common Unix Printing System,是一种在Unix-like操作系统上实现打印功能的重要工具。它是由Apple Inc开源的打印服务,使用的是IPP (网络打印协议)标准,这是从HTTP中衍生出来的IETF协议。
群晖系统自带CUPS这个服务,但驱动支持的不多,所以我们自行在Docker容器里面部署一个cups服务。启动Bonjour服务
控制面板→文件服务→高级设置,勾选Bonjour服务SSH连接
然后在终端机和SNMP里开启群辉的SSH连接功能
接下来需要SSH连接到群辉NAS上,关闭群辉自带的CUPS服务,我的是DSM7.2系统,使用如下代码报错:
查询Bing得知,您的群晖NAS的DSM版本是7.0或以上,而synoservicecfg命令已经在DSM 7.0中被替换为systemctl命令。您可以使用systemctl命令来管理服务的启动和停止,例如:
如果是DSM7.0以上系统只需要执行这一条命令即可。
在群辉桌面找到 ,在该目录下面新建 文件夹,然后在 airprint 里面新建两个子文件夹 以及 新增文件夹
先切换成管理员
运行下面代码
回到群辉,找到 docker 套件,找到容器,发现已经正常运行了。
WEB 管理界面
现在,可以访问 http://群辉IP:631 ,看到 CUPS 的 WEB 管理界面了。
先把打印机连接到群辉NAS的usb接口上,来到点击添加打印机,第一次会要求输入账号密码,默认都是print。Kyocera FS-1020MFP
可以看到已经正确识别出来了打印机,点击下一步,名称随意,共享这个打印机即可
如果你的打印机有对应的驱动直接选择即可,我这个型号没有驱动,只能手动安装了,官网有linux下的PDD格式驱动就有希望,最后发现Github上有大佬分享,记录下如何手动新增驱动。
下载地址:https://github.com/mnorin/kyocera-ppd-installer
思路是先把驱动和安装脚本上传到docker容器里,然后运行安装文件进行安装,文件上传使用共享文件夹最简单。
把下载好的对应驱动和脚本上传到前面新建的文件夹
SSH连接群辉NAS,切换管理员模式,进入容器:
进入config文件夹:
安装驱动命令:
安装过程
可以看到支持好几种型号,选Y安装,提示安装成功驱动成功
安装成功后,来到网页版重新选择驱动,发现已经有了对应驱动。
Windows电脑和Mac电脑直接添加打印机即可,很简单。
苹果手机或者ipad直接分享选择对应打印机即可打印。安卓手机
安卓手机找到对应的打印选项,不同手机位置可能不同,选择对应打印机打印即可。
远程打印也就外网的情况打印有两种思路:
第一:使用vpn服务,搭建openvpn服务后,手机连上vpn后,直接打印。
第二:使用ddns或者内网穿透把打印服务映射出去,添加网络打印机。
通过CUPS能够实现iOS、Android、macOS、Windows等设备的无驱动打印,无论你的打印机是否支持网络打印,只要成功搭建了CUPS,你就可以享受到远程、本地、有线、无线的打印服务,相当于把古董打印机加上了AirPrint共享打印机功能。