文章目录
前言
最近新添一台兄弟dcp-7080d打印机,功能都符合我的预期,打印,复印,双面打印,现在想通过网络共享这台打印机,实现全部设备都能通过打印机进行打印,于是在网上收集一些材料,成功实现共享打印机,同时总结出来这篇文章,分享给有相同想法的伙伴。
参考文档
群晖、威联通NAS实现共享打印机+Airprint隔空打印教程,Docker版CUPS,让NAS变身打印服务器!
基础环境
本篇文章实现的环境如下:
1、小主机
2、cenots7
3、Docker环境
这篇文章适用于家里已经有了小主机或者nas,这种方式可以帮你实现共享打印机功能,如果家里没有主机设备,可以直接买一个小白盒,体验会更好一些,不用自己折腾了 哈哈哈哈。
Centos7安装教程
Linux(Centos 7)操作系统下如何卸载和安装Docker
在进行完基础环境配置以后,我们就可以进行正式的步骤了
配置cups镜像
1、下载cups镜像
这里我下载的是olbat/cupsd镜像,也可以使用ydkn/cups镜像,这两个镜像有很多人使用,所以维护也比较频繁。
docker pull olbat/cupsd
2、开放631端口
sudo firewall-cmd --zone=public --add-port=631/tcp --permanent
sudo firewall-cmd --reload
3、查看631端口占用情况
sudo lsof -i :631
# 如果该端口已被占用,那么找到相应的pid
kill pid
4、检查打印机是否连接到主机
若没有连接,启动镜像会导致失败
5、运行镜像
docker run -d \
--name=cupsd \
--restart=always \
-p 631:631/tcp \
-v /var/run/dbus:/var/run/dbus \
-v /data/cups/config:/config \
-v /data/cups/services:/services \
--device /dev/bus \
--device /dev/usb \
-e TZ=Asia/Shanghai \
olbat/cupsd
对上面的启动指令做出详细解释:
docker run -d \: 在后台运行镜像
--name=cupsd \: 设置容器的名称为cupsd
--restart=always \: 设置容器遇到错误退出时自动重启
-p 631:631/tcp \: 可以通过宿主机的631端口访问CUPS服务
-v /var/run/dbus:/var/run/dbus \: 这是为了让CUPS容器能够访问宿主机上的DBus系统总线
-v /data/cups/config:/config \: 为了持久化CUPS的配置文件,可以设置为自己的目录
我是习惯把应用装在到/data目录下面
-v /data/cups/services:/services \: 为了持久化CUPS的服务文件,可以设置为自己的目录
--device /dev/bus \: CUPS容器就能够访问系统总线设备
--device /dev/usb \: CUPS容器就能够访问USB设备
-e TZ=Asia/Shanghai \: 设置容器的时区为亚洲/上海时区
olbat/cupsd: 指定运行CUPS镜像
6、配置账号密码
启动镜像成功后,需要配置镜像root用户的密码,我通常是设置为printer
passwd root
#输入两遍printer
配置打印机
可以通过http://自己主机ip:631进行打印机配置,由于我的已经配置完成了,所以我这里就直接使用已经有的图片了。
下面我通过192.168.2.2这个ip进行举例,登录192.168.2.2:631网址,如果显示说不安全连接,直接点确认继续访问就行了
弹出窗口,需要输入上面设置好的镜像的账号和密码,账号root,密码printer
在点击完continue之后,有的镜像会询问你是否选择share你的打印机,点击确定即可。这里选择的这个例子可能没有这个步骤。
这里咱们通常都是打印的A4,所以这个默认设置就设置为A4打印纸
复制上面的链接,下面共享给其他设备是需要使用到
共享给Windows设备
控制面板——》查看设备和打印机——》添加打印机——》我所需的打印机未列出——》按名称选择共享打印机——》输入一串地址——》填写上述复制的网址
注意,如果有https开头,切记把s去掉变成http即可,有s会导致添加不成功。
然后弹出选择驱动之类的,建议先安装你的打印机驱动后再尝试添加。
往下就一直确定就行了,这样就添加成功了。
共享给ios设备
1、安装 Avahi
sudo yum install avahi avahi-tools
sudo systemctl start avahi-daemon
sudo systemctl enable avahi-daemon
2、打开TCP的5354 端口和UDP的5353 端口
sudo firewall-cmd --zone=public --add-port=5354/tcp --permanent
sudo firewall-cmd --zone=public --add-port=5353/udp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-ports
3、分享——》打印——》选择打印机——》打印即可。图片请由右往左观看。