APP下载

解决佳能打印机无法在Linux系统中打印的问题

2022-05-30崔剑钧

电脑爱好者 2022年4期
关键词:管理器佳能打印机

崔剑钧

找准症结再安装

DeepinLinux系统内置的打印管理器能够发现Canon-LBP 2900+打印机,并自动将其识别为Canon-LBP3000(在Linux中,LBP 2900+使用的是LBP 3000的驱动)(图1),Deepin官方也专门为Canon CAPT系列打印机提供了安装脚本,但无论是自动配置的打印机还是通过脚本安装的打印机,都不能正常使用(图2)。笔者通过查询资料得知,适用于64位架构的Canon CAPT系列打印机驱动程序包括专有的闭源32位可执行捕获筛选器(由pstocapt CUPS筛选器调用,用于将PostScript数据转换为CAPT数据流),但一些必需的库文件不会作为依赖项自动安装。因此要让Canon CAPT系列打印机正常工作,不但需要手动配置,还要安装libc6和libpopt0等32位库文件。找到了问题的症结,解决起来就比较容易了。

先从佳能官网下载驱动(https://www.canon.com.cn/suppor ts/download/simsdetail/0100459603.html?mo de lI d=115 6&c hannel=2)。解压后进入“linux-capt-drv-v271-uken /64-bit_Drive r/Debian”文件夹,在空白处点击鼠标右键并打开终端窗口,依次输入并执行下列的命令(每输入一条命令均需回车确认,下同):

1.sudo apt install libglade2-0:amd64

2. sudo dpkg-icndrvcups-common_3.21-1_amd64.deb

3.sudo dpkg -icndrvcups-capt_ 2.71-1_amd64.deb

4.sudo apt install libpopt0:i386

5.sudo apt install zlib1g:i386 libxml2:i386libstdc++6:i386

6.sudo /usr/sbin / lpadmin -p LBP3000-m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787-E

7.sudo /usr/sbin/ccpdadmin -p LBP3000-o /dev/usb/lp0

8.sudo /etc/init.d/ccpd start

執行完上述的命令后,我们来设置ccpd后台程序的自动启动。首先以“root”身份打开“/etc/init.d/ccpd”,在第三行添加以下注释:

### BEGIN INIT INFO

# Provides: c cpd

# R equired-Start: $ local_fs $ remote_fs $syslog $network $named

# Should-Start: $ ALL

# Required-Stop: $ syslog $remote_fs

# Default-Start: 3 5

# Default-Stop: 0 1 2 6

# Description: Star t Canon Printer Daemon for CUPS

### END INIT INFO

然后再输入并执行“sudo systemctl enableccpd.service”命令即可。

安装完驱动后,在终端窗口中输入并执行“captstatusui -P LBP3000”,如果弹出“Readyto Print”的提示,说明打印机已经就绪,可以正常打印了(图3)。

上述的方法也适合在Ubuntu、Debian等中安装Canon CAPT系列打印机驱动。如果在这些系统中安装完驱动后打印机仍然不能正常工作,一般是因为缺少必需的库文件,可以执行“ldd /usr/bin/capt* | sort | uniq | grep "not found"”命令查找具体缺少哪个库文件,安装后即可解决。

在线安装驱动

对于Deepin、UOS等已经提供了Canon打印机驱动下载服务的Linux系统,还可以在线安装驱动,比上述的方法更简单。

打开终端窗口,依次执行下列的命令:

1.sudo apt install cndrvcups-capt

2.sudo apt install zlib1g:i386 libxml2:i386libstdc++6:i386

3.sudo /usr/sbin/lpadmin -p LBP30 0 0-m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787-E

4.sudo /usr/sbin/ccpdadmin -p LBP3000-o/dev/usb/lp0

5.sudo systemctl restart ccpd.service

6.sudo systemctl enable ccpd.service

别让缺纸成顽疾

Deepin Linux系统自带的打印管理器并不监视打印机状态,只要向打印机传输完数据,不管是否打印成功,都会显示“XX文档打印完成,请及时取走纸质文件”(图4)。一旦打印机缺纸,既不会给出提示,也不会在加纸后恢复打印。因此,如果打印时出现缺纸的情况,打印机就会进入“假死”的状态。为了解决这个问题,可以使用captstatusui来监视打印机状态,并将其设置为自动启动。打开终端窗口,输入并执行“vim ~/.config/autostart/captstatusui.desktop”命令,新建一个名为“captstatusui.desktop”的文件,然后在其中输入下面的内容,保存后重启系统。

[Desktop Entry]

Comment=Statusmonitorfor Canon LBP3000

Exec=captstatusui-P LBP3000-e

Hidden=false

Name=captstatusui

Terminal=false

Type=Application

X-Deepin-Vendor=user-custom

这样当打印机缺纸时,captstatusui就会弹出“Outof Paper”的提示(图5)。加纸后,我们可以选择继续打印,也可以终止打印作业。

猜你喜欢

管理器佳能打印机
佳能EOS 4000D
佳能EOS 2000D
佳能EOS M50
Windows文件缓冲处理技术概述
迟来的更新 佳能EOS 6D Mark II
另类3D打印机
打印机基板大型注塑模具设计
FDM型混色3D打印机的设计
高集成度2.5A备份电源管理器简化锂离子电池备份系统
复制粘贴打印机