Canon CAPT
CAPT (Canon Advanced Printing Technology,佳能高级打印技术) 是佳能的专有驱动程序,支持 **Canon i-Sensys** 系列激光打印机。更多信息,请参阅 在 Ubuntu 上设置 CAPT 打印机。
安装
安装 capt-srcAUR 包。它依赖于 32 位库包,需要 启用 multilib。
还有一个开源 CAPT 驱动程序处于“*早期 alpha 阶段*”,这里未进行描述,可作为 captdriver-gitAUR 获取。
配置
佳能的驱动程序使用本地守护进程与打印机通信,并通过 CUPS 驱动程序进行包装。
要配置打印机,请遵循 CUPS 文章,添加一个 *CAPT 打印机*,并使用 `ccp://:59787` 的 打印机 URI。使用 `lpinfo -m` 查找正确的型号,或查看 Ubuntu 帮助页面 上提供的表格,该表格将每种受支持的打印机与其对应的 PPD 匹配。
接下来,通过 *ccpdadmin* 将打印机注册到 CAPT 驱动程序本身。将 `queue_name` 替换为队列描述名称,将 `printer_address` 替换为 USB 端口(例如,对于本地打印机为 `/dev/usb/lp0`)或 IP 地址(对于网络打印机,前缀为 `net:`,例如 `net:192.168.1.100`)。
# ccpdadmin -p queue_name -o printer_address
例如,对于 USB 打印机(如果有多个 USB 连接的打印机,请阅读 #与其他打印机冲突)。
# ccpdadmin -p LBP6310 -o /dev/usb/lp0
或者对于网络打印机。
# ccpdadmin -p LBP6310 -o net:192.168.1.100
使用 `ccpd.service` 启动/启用 CAPT 守护进程。
要删除打印机。
# ccpdadmin -x queue_name
CAPT 状态监视器。
本地 CUPS。
该驱动程序包含一个状态监视器,可以使用以下命令启动:
$ captstatusui -P printer_model
例如。
$ captstatusui -P LBP6310
如果您只希望在发生问题时弹出状态监视器,只需追加 `-e` 选项。
$ captstatusui -P LBP6310 -e
远程 CUPS。
不幸的是,本地安装的 *captstatusui* 无法检测到远程 CUPS 服务器上的 CAPT 打印机。
然而,可以使用 SSH 和 X11 转发来实现远程打印监视。
客户端配置
- 创建一个新的 SSH 密钥 `~/.ssh/capt` 并 将公钥复制到远程服务器。
- 创建一个名为 `captstatusui.sh` 的文件,内容如下,使其可执行,并将其放置在您的 自动启动文件夹中。
#!/bin/sh ssh -T -Y -i ~/.ssh/capt remote_server_hostname_or_IP_address < /dev/null
服务器配置
- 创建一个新用户 `capt`。
- 将以下部分附加到 `/etc/ssh/sshd_config` 并 重启 SSH 守护进程或套接字。
...
Match User capt
X11Forwarding yes
PermitTTY no
ForceCommand captstatusui -P printer_model -e
AuthenticationMethods publickey
例如。
...
Match User capt
X11Forwarding yes
PermitTTY no
ForceCommand captstatusui -P LBP6310 -e
AuthenticationMethods publickey
通过将每个用户添加到 `capt` 组,然后使用 Match Group 规则,可以将此扩展到包含多个用户(使用单个共享 SSH 密钥或每个用户使用唯一的 SSH 密钥)。
...
Match Group capt
X11Forwarding yes
PermitTTY no
ForceCommand captstatusui -P LBP6310 -e
AuthenticationMethods publickey
故障排除
与 CUPS 冲突。
为了防止 CUPS 访问我们的仅 CAPT 打印机(并因通过 USB 进行多次设置请求而混淆固件),可以将不支持的 VID/PID 对列表添加到 `/usr/share/cups/usb/`。可以创建一个新文件(例如 `capt-printers.usb-quirks`)以防止该列表被 CUPS 更新覆盖。有关详细信息,请参阅 GitHub 上的问题:Cups attempts to probe, configure unsupported Canon CAPT USB printers。
与其他打印机冲突。
连接到计算机的其他打印机可能会创建自己的 `/dev/usb/lpN` 条目,甚至可能在您的佳能打印机被枚举和初始化之前,导致 CAPT 访问它不应触及的设备。可以使用 Udev 根据 USB VID/PID 和(可选)`dmesg` 中报告的序列号自动创建到 USB 设备的符号链接。
/etc/udev/rules.d/50-canon.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="271c", ATTRS{serial}=="0000A2BARL02", SYMLINK+="usb/lbp7010c"
然后,将符号链接路径添加到 CCPD。
# ccpdadmin -p LBP7010C -o /dev/usb/lbp7010c
来源:Arch Forums: "/dev/usb/lp1" is used instead of "/dev/usb/lp0" for printers