跳转至内容

Canon CAPT

来自 ArchWiki
注意 有关主要文章,请参阅 CUPS,有关非 CAPT 佳能打印机的信息,请参阅 CUPS/Printer-specific problems

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 匹配。

  • 通过 CUPS 网页界面安装 CAPT 打印机可能无法正常工作 [1]。请改用 CLI 工具
  • 如果端口 `59787` 不起作用,请尝试端口 `59687`。
  • 某些型号有多个 PPD 文件,最后一个字母表示区域型号(J = 日本,K = 英国,S = 美国)。

接下来,通过 *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 打印机。

然而,可以使用 SSHX11 转发来实现远程打印监视。

警告 X11 转发具有重要的安全含义,尤其是在使用 `-Y` 选项(ForwardX11Trusted,CAPT 状态监视器通过 X11 转发工作所需)时。有关更多信息,请参阅 X11 转发
注意 设置 X11 转发的方法有很多。出于安全原因,本示例基于公钥身份验证、专用 SSH 用户帐户以及在 CUPS 服务器上运行的 SSH。请根据您的具体配置调整这些说明。

客户端配置

#!/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