崔劍鈞
DeepinLinux系統(tǒng)內(nèi)置的打印管理器能夠發(fā)現(xiàn)Canon-LBP 2900+打印機(jī),并自動(dòng)將其識(shí)別為Canon-LBP3000(在Linux中,LBP 2900+使用的是LBP 3000的驅(qū)動(dòng))(圖1),Deepin官方也專(zhuān)門(mén)為Canon CAPT系列打印機(jī)提供了安裝腳本,但無(wú)論是自動(dòng)配置的打印機(jī)還是通過(guò)腳本安裝的打印機(jī),都不能正常使用(圖2)。筆者通過(guò)查詢(xún)資料得知,適用于64位架構(gòu)的Canon CAPT系列打印機(jī)驅(qū)動(dòng)程序包括專(zhuān)有的閉源32位可執(zhí)行捕獲篩選器(由pstocapt CUPS篩選器調(diào)用,用于將PostScript數(shù)據(jù)轉(zhuǎn)換為CAPT數(shù)據(jù)流),但一些必需的庫(kù)文件不會(huì)作為依賴(lài)項(xiàng)自動(dòng)安裝。因此要讓Canon CAPT系列打印機(jī)正常工作,不但需要手動(dòng)配置,還要安裝libc6和libpopt0等32位庫(kù)文件。找到了問(wèn)題的癥結(jié),解決起來(lái)就比較容易了。
先從佳能官網(wǎng)下載驅(qū)動(dòng)(https://www.canon.com.cn/suppor ts/download/simsdetail/0100459603.html?mo de lI d=115 6&c hannel=2)。解壓后進(jìn)入“l(fā)inux-capt-drv-v271-uken /64-bit_Drive r/Debian”文件夾,在空白處點(diǎn)擊鼠標(biāo)右鍵并打開(kāi)終端窗口,依次輸入并執(zhí)行下列的命令(每輸入一條命令均需回車(chē)確認(rèn),下同):
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
執(zhí)行完上述的命令后,我們來(lái)設(shè)置ccpd后臺(tái)程序的自動(dòng)啟動(dòng)。首先以“root”身份打開(kāi)“/etc/init.d/ccpd”,在第三行添加以下注釋?zhuān)?/p>
### 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
然后再輸入并執(zhí)行“sudo systemctl enableccpd.service”命令即可。
安裝完驅(qū)動(dòng)后,在終端窗口中輸入并執(zhí)行“captstatusui -P LBP3000”,如果彈出“Readyto Print”的提示,說(shuō)明打印機(jī)已經(jīng)就緒,可以正常打印了(圖3)。
上述的方法也適合在Ubuntu、Debian等中安裝Canon CAPT系列打印機(jī)驅(qū)動(dòng)。如果在這些系統(tǒng)中安裝完驅(qū)動(dòng)后打印機(jī)仍然不能正常工作,一般是因?yàn)槿鄙俦匦璧膸?kù)文件,可以執(zhí)行“l(fā)dd /usr/bin/capt* | sort | uniq | grep "not found"”命令查找具體缺少哪個(gè)庫(kù)文件,安裝后即可解決。
對(duì)于Deepin、UOS等已經(jīng)提供了Canon打印機(jī)驅(qū)動(dòng)下載服務(wù)的Linux系統(tǒng),還可以在線安裝驅(qū)動(dòng),比上述的方法更簡(jiǎn)單。
打開(kāi)終端窗口,依次執(zhí)行下列的命令:
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系統(tǒng)自帶的打印管理器并不監(jiān)視打印機(jī)狀態(tài),只要向打印機(jī)傳輸完數(shù)據(jù),不管是否打印成功,都會(huì)顯示“XX文檔打印完成,請(qǐng)及時(shí)取走紙質(zhì)文件”(圖4)。一旦打印機(jī)缺紙,既不會(huì)給出提示,也不會(huì)在加紙后恢復(fù)打印。因此,如果打印時(shí)出現(xiàn)缺紙的情況,打印機(jī)就會(huì)進(jìn)入“假死”的狀態(tài)。為了解決這個(gè)問(wèn)題,可以使用captstatusui來(lái)監(jiān)視打印機(jī)狀態(tài),并將其設(shè)置為自動(dòng)啟動(dòng)。打開(kāi)終端窗口,輸入并執(zhí)行“vim ~/.config/autostart/captstatusui.desktop”命令,新建一個(gè)名為“captstatusui.desktop”的文件,然后在其中輸入下面的內(nèi)容,保存后重啟系統(tǒng)。
[Desktop Entry]
Comment=Statusmonitorfor Canon LBP3000
Exec=captstatusui-P LBP3000-e
Hidden=false
Name=captstatusui
Terminal=false
Type=Application
X-Deepin-Vendor=user-custom
這樣當(dāng)打印機(jī)缺紙時(shí),captstatusui就會(huì)彈出“Outof Paper”的提示(圖5)。加紙后,我們可以選擇繼續(xù)打印,也可以終止打印作業(yè)。