本文首发于只抄博客,欢迎点击原文链接了解更多内容。
前言
前不久想买个打印机,逛了逛京东和淘宝发现新的激光打印机带复印、扫描、自动双面功能的打印机基本都要 1000+,并且耗材不便宜。于是考虑二手打印机,一开始看的是惠普,但是惠普*近二手的价格有点高,再加上惠普的大部分机器鼓粉一体、没有单独的纸盒,感觉不太满足我的需求。
后面看了兄弟的 2240D 和 2260D,价格挺实惠的还能自动双面,准备下单的时候又发现了兄弟 7060D,比起 2240D 和 2260D 又多了复印和扫描的功能(虽然也用不太上),但只要加 100,还是果断下单了 7060D。兄弟的二手打印机有时候会缺货或者溢价,也可以看看换壳的联想打印机,价格会稍微便宜些。不过这些机器年份都比较长了,怕翻车的还是建议买新机,比如 7180DN 之类的带 N 或者 W 的型号,可以直接联网用,不需要折腾了。
大部分二手的老款打印机以及部分新款的入门级打印机,都是没有网口和 WiFi 连接功能的,正常情况下只能用 USB 线连接电脑使用。想要通过网络打印,商家一般都会推荐买个小白打印盒子连接打印机,对于小白来说这个小白打印盒子确实很方便,连上就能用,还能支持微信打印。但是作为爱折腾的垃圾佬来说,100 多的价格还是不太能接受的,百度搜索了一下,随便找个带 USB 的路由器或者 Armbian 盒子一样能实现的网络打印。
首先尝试的是刷了梅林固件的网件路由器,但是好像并不能识别到打印机,可能是不支持 7060D 吧。多次尝试无果后,转向了刷好 Armbian 的玩客云,安装 CUPS 之后插上可以直接识别打印,过程还是挺顺利的,下面给大家分享一下完整的安装过程。
安装 CUPS
安装 CUPS 分为直接安装和 Docker 安装,我尝试了之后发现打印是都能够打印,但各有优缺点:
直接安装
需要手动修改配置文件
需要手动安装打印机驱动,部分品牌的打印机安装驱动比较麻烦
Docker 安装
打印机重启后,无法识别到打印机,需要重启 Docker 容器
开箱即用,集成了大部分打印机驱动,找不到对应机型的驱动也可以尝试相似机型的驱动
直接安装
安装 CUPS
apt install cups
修改 CUPS 配置文件
/etc/cups/cupsd.conf将 Listen 修改为
0.0.0.0:631将 Browsing 修改为
Yes对应位置加上
Allow all
# Only listen for connections from the local machine.
Listen localhost:631 // [!code --]
Listen 0.0.0.0:631 // [!code ++]
Listen /run/cups/cups.sock
# Show shared printers on the local network.
Browsing Off // [!code --]
Browsing Yes // [!code ++]
BrowseLocalProtocols dnssd
# Restrict access to the server...
Order allow,deny
Allow all // [!code ++]
# Restrict access to the admin pages...
Order allow,deny
Allow all // [!code ++]
# Restrict access to configuration files...
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all // [!code ++]
# Restrict access to log files...
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all // [!code ++]
重启 CUPS
systemctl restart cups
安装打印机驱动(不同品牌打印机驱动安装方式不同,演示以兄弟打印机为例,其他品牌如果安装困难可以考虑使用 Docker 安装 CUPS)
# 搜索 brother
apt search brother
# 搜索到的激光打印机驱动
printer-driver-brlaser/stable,now 6-3 armhf
printer driver for (some) Brother laser printers
# 安装这个驱动
apt install printer-driver-brlaser
Docker 安装
Docker 安装的 CUPS 已经自带了大部分打印机的驱动,也不需要自己修改配置文件,直接启动就可以使用。直接在 Docker Hub 搜索 CUPS 找一个*近更新的镜像就行,不过我用的玩客云是 32 位的,可选的不是很多,下面以 ydkn/cups 这个镜像为例
privileged: true 可以先不加看看能不能获取到打印机,获取不到的话再加上
version: "3.3"
services:
cups:
container_name: cups
image: ydkn/cups:latest
ports:
- 631:631
privileged: true
volumes:
- /opt/cups:/etc/cups
安装 Avahi
Avahi 是一套使应用程序能够公布或发现局域网上运行的服务和主机的系统。有了它之后,我们通过电脑或者手机添加打印机的时候,可以直接搜索到打印,不需要手动添加。
apt-get install avahi-daemon avahi-utils
配置 CUPS
访问 https://ip:631 进入 CUPS 的 Web UI,点击添加 Add Printer
添加打印机添加打印机需要验证密码,直接安装的 CUPS 默认用户名为 root,默认密码为 SSH 密码;Docker 安装的需要参照作者的 README,像我使用的 ydkn/cups 默认用户名和密码均为 admin
在 Local Printers 中选择自己的打印机
本地打印机勾选 Share This Printer
分享打印机选择打印机型号,如果直接安装 CUPS 并正确安装了驱动,一般情况下能直接找到对应的型号;通过 Docker 安装的 CUPS 如果找不到对应型号,可以尝试使用相近型号
打印机型号打印机的一些默认设置,根据自己的需求修改
