Unraid 安装CUPS实现共享打印和无线打印
创作立场声明:个人瞎折腾,文中部分内容来自网络,本人并非专业人士,只是将个人的折腾经验分享给大家,如有错误请大家指正
今年上半年买了一台高配蜗牛,蜗牛D的机箱、G5400的cpu、B365的板子,就开始了一系列的折腾,更换了8700t es cpu,带pcie 插槽的蜗牛C机箱,4口pcie 网卡,折腾出了一台windows all in one 机器,软路由、群晖、文件共享等等,用了大半年,一直很稳定,但是也有些美中不足,待机功耗也有些高。最近看了站内大神们unraid的文章,提到了unraid的硬盘休眠功能不错,文件共享、docker、虚拟机等功能也很强大,就将机器换成了unraid系统,折腾过程就不细说了,今天主要说一下unraid下打印机共享的问题。
楼主家里目前有两台打印机,最早买了一台联想的S2001,只能打印不能复印扫描,后来又趁着特价买了一台奔图的M6200NW一体机,后者虽然支持无线功能,但是特别不好用,连接麻烦不说,还动不动就连不上,只能连接电脑重新连接,比家里原来用的hp 4518 无线功能弱爆了。索性后来直接放弃了无线功能,直接跟s2001一样,插在all in one主机上,通过windows共享打印机共享给家里的其他机器使用。
换了unraid系统后,如何实现打印机的共享就成为了折腾目标之一。
方案一、群晖实现
因为新的系统虚拟了群晖系统,而群晖系统自带了打印共享的功能,在“控制面板 - 外接设备 - 打印机”栏目内,但是不知什么原因,添加后可以识别打印机,但是点击打印后会一直不停的打印空白页 ,群晖我也不是太熟,网上搜了下也说群晖的打印共享不太好用,遂放弃。
方案二、centos实现
网上搜了一圈方案,发现了利用cups可以实现打印机共享,还能实现airprint和android无线打印,功能很强大。网上的经验贴大多是利用centos等linux系统安装实现的。于是新虚拟了一个最小化的centos的虚拟机,按照网上的提示安装cups,成功实现了打印机的共享,具体安装过程可参考网上的相关内容,这里简单说一下:
1、VNC进入centos,安装cups
yum install -y cups
2、启动并设置cups
systemctl start cups
确保防火墙已经放通631端口,楼主一开始就在这里卡了很久,怎么也访问不了设置页面
firewall-cmd --permanent --add-port=631/tcp
service firewalld restart
这时候是无法从局域网内访问cups的,原因是因为cups的配置只允许本地访问。
这时候需要编辑cups的配置文件
vi /etc/cups/cupsd.conf
将Listen 改为Port 631
在如图位置添加Allow All
然后重启cups
service cups restart
3、局域网内其他主机打开web输入http://IP:631/admin,输入centos的账号密码,点击添加打印机(add printer),选择local printer中对应的打印机型号,依次点击continue,最后选择厂商和型号,如果没有对应的型号,随便选择一个即可。
4、添加完成后,进入printer界面,点击添加成功的打印机名称,进入打印机页面,记录该网页的网址,即是后续添加打印机的型号。
5、Windows本地添加打印机
添加设备,点击下侧“我所需的打印机未列出”,选择按名称选择打印机。输入4步骤中的打印机网址(http://192.168.6.9:631/printers/Lenovo_S2001,此处注意将https后面的s去掉)。后续关键点就是选驱动,一定要对应型号,不然会出现很多问题。
6、点击确定添加完成,这时候就可以进行打印了。
本人的两台打印机都不在cups的支持范围之内,没有相关的驱动,只能采用上述方式进行共享打印(使用的是windows上安装的驱动),手机打印的话因没有cups上的驱动,打印出来的都是空白。但个人手机上打印的情况不多,能共享就好了哈。
方案三、Unraid 上docker实现
上述方案用了一段时间,偶然间发现虚拟机对整机的功耗影响很大,群主的机器装了4个虚拟机:windows10、openwrt、群晖、centos,带8t、4t、3t三块机械硬盘,其中3t的硬盘直通给群晖使用,结果发现在硬盘休眠的情况下,待机也要接近50w,并不比当初windows时省电。后来有一次关闭windows10虚拟机后再看功率,直接降低5W,再关掉群晖,再降3W,关掉centos也能降2W,openwrt要做旁路由不能关,windows10和群晖可以需要的时候再开,而centos只用了打印共享的功能,想着如果能用unraid的docker实现的话,这2W的功耗就能省出来了。
上unraid的app中搜了下,好像没有cups的应用。网上搜了很多资料,都没有介绍利用unraid上的docker安装cups的,大多都是群晖的docker内安装,看了unraid的还是小众一些。只能参考群晖的帖子进行安装,比如这一篇:
群晖的docker中是可以搜索到cups镜像的,而且上述帖子中楼主也给出了直接安装的代码,但是unraid中不能直接用,需要进行一定的修改,这里直接给出unraid中docker安装cups的命令,大家进入unraid的终端,运行下列命令即可:
docker run -d --name="cups-google-print" --net="host" --privileged="true" -e TZ="UTC" -e HOST_OS="unRAID" -e "CUPS_USER_ADMIN"="admin" -e "CUPS_USER_PASSWORD"="pass" -e "TCP_PORT_631"="631" -v "/mnt/user/appdata/cups-google-print":"/config":rw -v /dev:/dev -v /etc/avahi/services:/avahi -v /var/run/dbus:/var/run/dbus mnbf9rca/cups-google-print
运行完毕,局域网内其他主机打开web输入http://unraid的IP:631 即可访问cups设置页面了,非常简单。
后面安装打印机跟前面一样,大家参考前面内容即可。
至此,实现了docker安装cups,资源占用比虚拟机好多了,功耗也降低2W,美滋滋。楼主的机器,在只保留openwrt虚拟机的情况下,待机功耗最低只要30W。。。
奔图 Pantum M6200NW series cups打印驱动安装
上述方案因为没有在cups中安装对应的打印机驱动,因此手机上虽然能够搜索到打印机,但是却不能正常打印,所以实现上述windows共享之后,就一直研究如何实现手机无线打印。
偶然间看到一篇帖子,提到如果打印机有linux驱动的话,基本都能实现cups中的驱动安装,于是就上奔图网站上搜了下,竟然真有M6200系列的linux驱动,后面就好办了。
进入docker控制台
依次运行以下命令:
wget https://global.pantum.com/global/wp-content/uploads/2016/06/Pantum-Ubuntu-Driver-V1-1-5-1.tar.gz
tar -zxvf Pantum-Ubuntu-Driver-V1-1-5-1.tar.gz
sudo dpkg -i Pantum Ubuntu Driver V1.1.5/Resources/pantum-1.1.5-amd64.deb
驱动就安装好了,再次进入cups后台,找到原来添加的打印机,选择“Modify Printer”
然后就能发现对应的驱动了,选择正确的驱动提交,然后就可以通过手机打印了。
PS:苹果手机airprint可以直接用,安卓要用的话需要安装个APP,“Android CUPS Print”,大家自行搜索下载安装即可。
如果你的打印机是其他型号,且不在cups支持库中的话,可以上打印机官网搜索linux驱动,利用本方法安装即可。
拿铁男友
校验提示文案
蛙侠
校验提示文案
值友1417950665
校验提示文案
通通
校验提示文案
Liridice
校验提示文案
绝恋之夏
校验提示文案
meanshate
校验提示文案
1510m
校验提示文案
ylf1105
校验提示文案
清墨少年
校验提示文案
兵临息下
校验提示文案
锦福
校验提示文案
19楼的瓶子
校验提示文案
左玲右李
HP LaserJet 1020, hpcups 3.20.9, requires proprietary plugin
有人说是要装foo2zjs,悲凉。
校验提示文案
跑路飕飕
校验提示文案
blackocean
校验提示文案
条三条四
校验提示文案
小马巅巅
校验提示文案
seacat
校验提示文案
玥玥爸
校验提示文案
rui3bo2
校验提示文案
值友5124859991
校验提示文案
跑路飕飕
校验提示文案
富兰克林值
校验提示文案
tangdong11
校验提示文案
兵临息下
校验提示文案
富兰克林值
校验提示文案
长着青春痘的青蛙
校验提示文案
飞天雾
校验提示文案
左玲右李
HP LaserJet 1020, hpcups 3.20.9, requires proprietary plugin
有人说是要装foo2zjs,悲凉。
校验提示文案
这刻尽凝望
校验提示文案
锦福
校验提示文案
清墨少年
校验提示文案
值友9241790008
校验提示文案
ylf1105
校验提示文案
1510m
校验提示文案
19楼的瓶子
校验提示文案
meanshate
校验提示文案
玥玥爸
校验提示文案
meanshate
校验提示文案