孩子的网课也上到现在了,还不知道啥时候是个头。其他没啥,每天例行的打印任务都得归我,有时候一忙起来就顾不上。
家里的打印机是经典的HP LaserJet1020,被放在书房跟我的电脑相连,每次为了打印就得开机。虽然它比我家孩子的岁数都大,但是经久耐用,到现在还是表现出色,换是不可能了。
前阵子一直在折腾吃灰的树莓派,把几个常用的网站系统都搬上了树莓派,干脆用它搭建一个打印服务器,也省得我跑来跑去开机关机的。

一、安装CUPS

CUPS is the standards-based, open source printing system developed by Apple Inc. for macOS® and other UNIX®-like operating systems. CUPS uses the Internet Printing Protocol (IPP) to support printing to local and network printers.

CUPS也就是“通用 Unix 打印系统”,简单来说就是靠它搭建打印服务器。
通过SSH连接到树莓派,在控制台中输入以下命令:

sudo apt-get install cups

有可能会提示你某些组件需要升级,所以最好在这之前更新一下系统:

sudo apt-get update

二、允许pi用户配置CUPS

安装完成后,需要将用户加入到 lpadmin 用户组,然后开启 CUPS 的远程访问权限。

sudo usermod -a -G lpadmin pi

sudo cupsctl --remote-any

三、配置CUPS

先关闭CUPS服务

sudo service cups stop

备份配置文件

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak

从网上搜到的教程竟然用mv命令来备份,刚开始我也没留意,直接复制代码运行,然后进不到页面,重新把备份文件恢复才有用。这会儿写文章才意识到那条命令有问题,相当于改名了,哪是备份啊?
还有说把配置文件中的Listen localhost:631改成Listen 0.0.0.0:631,反正我是没找到。
重启服务

sudo service cups start

四、安装打印机

打开浏览器,输入树莓派的IP地址,然后加上端口号631,出现CUPS的主页
CUPS.png
点击“Administration”选项卡,进入管理界面
CUPS-administration.png
点击“Add printer”后进入添加打印机的步骤,浏览器有可能会提示不安全,继续进入即可。紧接着页面会弹出对话框要求你输入树莓派的用户名和密码。
来到添加打印机的界面后,首先会让你选择打印机的型号,点击继续
CUPS-add-printer.png
接下来就是为你的打印机起名以及添加备注,名字可以适当缩短,备注就无所谓了,能看明白就成。记得勾选“Share This Printer”。
CUPS-add-printer-2.png
然后安装打印机的驱动程序,系统已经默认帮你选好了,直接点击“Add printer”就可以了。
CUPS-add-printer-3.png

五、测试打印机

来到打印机的的管理界面,在框中选择“Print Test Page”,如果一切顺利,就能听到打印机动作了。
不过我的HP LaserJet1020并没有反应,打印失败。
根据网上的结果,需要安装一下HP的驱动

sudo apt-get install hplip

并且还需要通过hp-setup命令安装插件。
删除打印机后重新添加,这次能够正常打印测试页了。

六、为其他设备添加网络打印机

PC端的话,按照地址“http://树莓派ip:631/printers/LaserJet1020”添加网络打印机和驱动就行了。
孩子最主要的学习工具还是IPAD,这个就更加简单了,打开文档后,点击右上角的菜单出现打印,选择AirPrint就可以进行打印了。
爸爸再也不用担心我的打印了!

"Filter failed"导致打印失败

如果用系统默认的打印驱动,可能会发生问题,尤其是在系统或软件更新后,打印任务会停止,并提示"Filter failed"。从网上的信息来看,可以通过手动安装foo2zjs的驱动来解决,但是很多教程中直接从网站下载的方式已经不行了。

pi@raspberrypi:~ $ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
--2022-03-31 19:46:06--  http://foo2zjs.rkkda.com/foo2zjs.tar.gz
Resolving foo2zjs.rkkda.com (foo2zjs.rkkda.com)... failed: Name or service not known.
wget: unable to resolve host address ‘foo2zjs.rkkda.com’

所以要换个法子,适用git的方式。

git clone https://github.com/koenkooi/foo2zjs.git
cd foo2zjs
make

重新选择打印机驱动,记得要带foo2zjs的驱动。
Foo2zjs.png

参考文章:
树莓派安装CUPS做打印共享

最后修改:2022 年 03 月 31 日
如果觉得我的文章对你有用,请随意赞赏