因为Windows的各种弹出广告太多了,已经有一段时间没有用Windows操作系统办公了,改用的是Linux操作系统;由于笔记本电脑为较老的R400,安装了XFCE版本的Linux Mint 19.2,XFCE启动速度快,占用资源少,可配置性好。通过安装装搜狗输入法(安装完成之后会造成底部面板破坏,需要重新对操作系统的底部面板进行设置),安装完WPS Office和QQ for Linux 2.0版本以及Chrome浏览器、Xmind(只能安装ZEN版本,安装其他版本会造成操作系统无法上网、界面破坏)之后,基本的日常办公没有问题了,决定淘汰Windows的台式电脑,但是打印机一直未安装上,就花了一天时间将打印机配置完成,这个过程记录一下:
1、在Canon的官方网站上下载Linux版本的驱动程序,通过系统自带工具打开压缩包,进入自己的系统版本(64bit)的文件夹,在Debian子目录中,提取其中的两个文件cndrvcups-common_3.21-1_amd64.deb、cndrvcups-capt_2.71-1_amd64.deb,然后点击进行安装。
2、安装完驱动之后,发现打印机管理程序中增加了一个LBP3000的打印机,但是打印测试页并没有任何反应,需要进一步进行配置,LBP2900+使用的驱动实际是LBP3000,因此在后续的配置中使用的驱动就是LBP3000的驱动,首先删除掉已经注册的LBP3000打印机,使用如下命令完成打印机的注册:
sudo /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787 -E
sudo ccpdadmin -p LBP3000 -o /dev/usb/lp0
3、检查打印机是否工作,使用:sudo captstatusui -P LBP3000,发现无法与打印机进行通信。
4、打印机使用的是USB接口,使用 lpinfo命令查找打印机的uri,默认是lp0,但是通过lpinfo命令的执行发现在自己的电脑上面是使用的lp1,可以先不插USB,执行以上命令(sudo lpinfo -v);再插上USB打印机,再执行以上命令,这样就很容易分辨了。对照两种情形下的不同,发现LBP3000打印机使用以下两个RUI端口:
direct cnusb:/dev/usb/lp1(并不是默认安装时的lp0)
direct usb://Canon/LBP3000?serial=0000A1E5FAj6
因此前面的注册命令需要修改为:sudo ccpdadmin -p LBP3000 -o /dev/usb/lp1
5、使用:sudo captstatusui -P LBP3000,仍然发现无法与打印机进行通信,执行命令(sudo lpinfo -v),发现/dev/usb/lp1在列表中消失,查阅安装的英文文档,发现可以通过执行 # sudo modprobe usblp可以解决USB的通信问题,执行完该命令后,/dev/usb/lp1就一直存在与列表中了。
6、将系统的CUPS和Canon的ccpd服务启动以后,sudo service cups start和sudo service ccpd start,然后再运行sudo captstatusui -P LBP3000,弹出窗口内显示"Ready to print!"就说明你的打印机已经就绪了。打印测试也没有问题了。
7、但是重启动之后仍然不能打印,每次打印需要执行sudo service ccpd start,比较麻烦,需要将ccpd设置成自动启动,首先修改/etc/init.d/ccpd文件,增加:
### BEGIN INIT INFO
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
四条语句,然后执行命令sudo systemctl enable ccpd即可成功添加为自动启动。