这篇文章是关于如何在局域网下通过 CUPS 工具来共享打印机的,由于网上几乎没有关于佳能打印机共享的文章,所以我就在这里记录一下我踩的坑供大家参考。请注意:不同品牌的打印机在操作上略有差异,具体请参考官方文档的说明。
本文有以下小节:
1、安装CUPS服务并修改配置文件
2、在CUPS服务中添加打印机
3、修改打印机设置并测试
4、在同一局域网的电脑上添加打印机
- 安装CUPS服务并修改配置文件
由于我使用的是软路由,并且 ESir 编译的固件已经自带了 CUPS 服务,所以对于我来说并不需要额外安装软件。如果你也是 Openwrt 系统的话,你可以自行编译 CUPS 的 ipk 软件包,或者使用 docker 来部署。
#以下是使用 Docker 部署 CUPS 服务的命令
docker run -d -p 631:631 -v /var/run/dbus:/var/run/dbus -v $PWD/cupsd.conf:/etc/cups/cupsd.conf --name cupsd olbat/cupsd
在安装了 CUPS 服务后,我们并不能马上访问(除非你的服务位于本机),需要先修改配置文件,该文件位于 /etc/cups/cupsd.conf
,打开该文件,我们需要修改以下内容:
Port 63100
#如果你的设备直接暴露于公网或有IPV6,请将端口号设置到高位的随机数字(在10000 - 65534 之间就行),以防万一#
#将以下段落(通常位于配置文件末尾)中的 “Allow From” 字段改为你的局域网网段,例如我的是 192.168.5.0/24 #
<Location />
Order Allow,Deny
Allow From 127.0.0.1
Allow From 192.168.5.0/24
</Location>
<Location /admin>
AuthType Basic
AuthClass System
Order Allow,Deny
Allow From 127.0.0.1
Allow From 192.168.5.0/24
</Location>
编辑完成后保存文件并重启 CUPS 服务(或重启 Docker 容器,取决于你的部署方式)。接下来就可以使用你设置的端口号加上设备 IP 访问后台了,后台界面应如下图所示:
- 在CUPS服务中添加打印机
在后台界面中点击上方横条的 Administration 选项,会弹出一个登录框,如果你使用 Openwrt 自带的 CUPS 服务,那么账户默认为 root ,密码就是你登录 SSH 时的密码;如果你使用 Docker 部署,那么账密均为 print 。输入后点击确定就可以进入管理员界面,在这里我们就可以添加打印机了。
将你的打印机通过 USB 线缆连接到部署服务的设备,点击 Add Printer ,正常情况下在 Local Printer 一栏中应当会出现尚未添加的打印机,名称大概率就是打印机的型号,选中它,然后点击下一步。
在接下来出现的界面里,你可以输入打印机的名称和描述,也可以就保持默认,请注意只能输入大小写英文字母和下划线,Location 一栏可以留空,接着勾选 Share this printer ,然后点击下一步。
在最后这一页里,如果你的打印机驱动被包含进了 Debian 软件包里,那么恭喜你,你会在这一页的 Make这一栏里看见你的打印机型号,你可以直接选中它,然后点击 Add Printer,就大功告成了。如果没有(佳能大概率都没有),那只会有一个 RAW ,但如果你只需要基础的打印服务,那么选择 Raw 然后直接点添加也是可以的(如果你选择这么做,那么可以直接跳到下一节了),但如果你需要高级功能(如双面打印或照片纸打印),或你的打印机不能在 Raw 下正常工作,那么就需要上传自己的驱动程序(PPD文件),找到适合自己佳能打印机的 PPD 文件的流程如下:
前往佳能中国网站的支持网页:https://www.canon.com.cn/supports/download/sims/search/index
选择你的打印机类型和型号,然后在文件类型一栏中点击“驱动程序”,例如我的打印机是 E568(喷墨),那么就是这么选的:
这会把你带到一个新的网页,在新网页的左侧的“结果列表”一栏中点击“Linux”,然后找到 IJ Printer Driver For Linux (原装) 这个项目(描述是“本软件是Linux打印机驱动程序的源文件”),点击它,然后点击“开始下载”:
下载完成后解压下载下来的压缩包(是 tar.gz 后缀的),我的打印机型号下载下来的文件叫“cnijfilter-source-4.10-1.tar.gz”,然后在解压出的文件夹内找到一个名叫 ppd 的目录,其中就包含着我们需要的 ppd 文件,当然你需要找到对应你的打印机型号的那一份,里面的文件都是以系列划分的,例如我的打印机型号是 E568 ,那么对应的文件就是 canone560.ppd
找到需要的文件后回到刚刚的后台页面,点击在 Or Provide A PPD File 后的选择文件按钮,上传对应的 PPD 驱动,然后点击 Add Printer 就可以了。
现在点击 CUPS 后台上方横条中的 Printers 按钮,如果添加成功,那么你的打印机应该已经出现在列表里了。
- 修改打印机设置
在打印机列表中点击你的打印机,这会进到打印机修改界面,我们先在左上方的第二个下拉菜单中点击 Set As Server Default ,然后回到打印机修改界面,再在相同的菜单中选择 Set Default Options,这会显示出打印机的默认选项供你修改,注意下方的第二张图中的红框框出的这一栏是可以点击进行切换的,全部修改完成后点击下方的 Set Default Options 保存即可。
通常来说 PPD 文件不会自带打印测试页的,所以为了测试打印机是否正常,我们需要在电脑上添加打印机。
- 在同一局域网的电脑上添加打印机
在添加之前,你需要确保你的电脑上已经安装了你的打印机的驱动程序,部分厂商的驱动需要你用USB连接打印机后才能添加,所以请先做好这一步。
以下内容仅对 Windows 10/11 系统有效,如果是其他系统,请自行搜索如何添加。
打开设置,然后前往 设置–>蓝牙和其他设备–>打印机和扫描仪,点击“添加设备”,稍微等待一会后会出现一个“手动添加新设备”的选项,点击它。在弹出的窗口中选择“按名称选择共享打印机”这一项,然后在框中填入你的打印机的地址,地址的格式如下:
http://<IP>:<端口>/printers/打印机名称
#例如我的打印机是 http://192.168.5.1:6310/printers/Canon_E560_series #
输入完成后点击下一步,这是有可能会直接显示添加完毕,也有可能会弹出另一个窗口让你选择驱动,如果弹出了新窗口,那你只需要按照品牌和型号选择对应驱动然后点确定即可。
添加成功后,系统会推荐你测试打印机是否正常工作,这个时候点一下“打印测试页”可以打一张Windows自带的测试页出来,你也可以直接关掉窗口然后打一份自己的文档。如果一切正常,在你按下打印后打印机应当很快就会开始工作了(当然比起直接插在电脑上肯定还是会有一点延迟的)。
需要注意的是,在软件(如 Word)中打印时,如果软件提供了打印选项,那你还是需要手动选择的(例如双面打印之类的),因为这种情况下 CUPS 的默认设置会被软件覆盖掉。
- 结语
受限于我也是第一次折腾 CUPS 服务,并且不同打印机品牌的操作上肯定有不小的差异,本文只是我的一点经验,如果你在设置时遇到了奇怪的问题,欢迎留言,我会尽我所能解答。
以上
完
楼主你好,非常感谢你的分享
我的打印机G2810 的驱动文件ppd在中国佳能网站没能找到,去了其他站也是没有linux版本,不知道还有什么办法安装驱动吗
没有的话就是没有官方的Linux驱动支持,你可以尝试按文中提到的直接以RAW模式添加打印机,但可能会失去一些进阶功能。也可以尝试这个非官方的 CUPS Docker 镜像,包含了所有已知的官方和非官方的打印机驱动:https://github.com/ManuelKlaer/docker-cups-canon。如果以上方式都不行的话也可以尝试使用一台 Windows 系统的电脑来共享打印机。
非常感谢,没想到您还回复了:)
想请问的是,问题解决了?
没有解决,更换了win做打印机服务器
官方不提供驱动的可以看看gutenprint开源项目, 我的G1800跟你的2810应该是一个系列, 就是要自己编译,编译完后CUPS上面就能出现驱动出来