在 Artix Linux 上使用 Canon 打印机
卡住了很久。
首先是问题点:
-
Canon MG6730 没有适用于 Linux 的驱动程序
-
USB 连接也不行
-
据说兼容的 MG6500 系列有提供 Linux 驱动,但它们是 deb 和 rpm 包,不能随便安装
所以,我尝试了所有能做的事情。
・Canon MG6730 在 Linux 上到底能不能运行?
我看到有人在 Github 上提供了一个补丁文件,可以让“自动开机功能”在 Linux 上运行,并且报告说只需安装 IJ Printer Driver 就能启动。
我觉得这可行,于是踏上了寻找驱动程序的旅程。
因此,我忘记是在 Reddit 还是 Arch Linux 的帖子中发现的,但我知道了 cnijfilter 这个包的存在。
https://aur.archlinux.org/packages/cnijfilter-common
git clone https://aur.archlinux.org/cnijfilter-common.git
cd cnijfilter
makepkg -si
但是,查看所需的型号名称后,发现机器太旧了,于是花了一些时间才知道存在 cnijfilter2 这个东西。
https://aur.archlinux.org/packages/cnijfilter2
git clone https://aur.archlinux.org/cnijfilter2.git
cd cnijfilter2
makepkg -si
但还是不行。
那么,首先要确认打印机是否能在网络上被检测到?为了确认这一点,我运行了:
ip a s
嗯,显示有 MG6700 Series,所以应该没问题。
之后,我也尝试努力安装 MG6500 的 rpm 和 deb 包,但都没有成功,而且我还在想,既然所需文件都齐全了,应该能行才对。
在驱动程序、网络还是 Cups 的问题都模糊不清的黑暗中,我查阅了 Arch Wiki……
打印机特定问题
https://wiki.archlinux.org/title/CUPS/Printer-specific_problems
“USB over IP (BJNP)”
哦?说实话,我用 USB 测试过也不行,所以就把它当作 USB 测试的一种方式来尝试安装。一看,发现:
“一些 Canon 打印机使用 Canon 专有的 USB over IP BJNP 协议通过网络进行通信。它有一个 CUPS 后端,可以作为 cups-bjnp AUR 使用。”
我心想,竟然还有这种模式,于是尝试安装它。
https://aur.archlinux.org/packages/cups-bjnp
git clone https://aur.archlinux.org/cups-bjnp.git
cd cups-bjnp
makepkg -si
然后,我输入了新添加到网络上的 MG6700 系列,型号虽然不同,但选择了 MG6600 的驱动程序进行测试,结果……

成功了。
啊,累死了。但很开心。
如果是 Windows 的话,一瞬间就搞定了。麻烦的事情让我明白以前是多么轻松,所以这也是好事。
而且电池续航体验也相当不错。实际测试中也比 Windows 长了 30 到 40 分钟,电池性能大约好 20%。