कैनन CAPT प्रिंटर ड्राइवर बंद स्रोत है और कैनन द्वारा आपूर्ति किए गए बाइनरी लाइब्रेरी i386 के लिए संकलित हैं। तो अगर आप amd64 पर हैं, तो आपको पहले मल्टीकार को सक्षम करने और कुछ लाइब्रेरी स्थापित करने की आवश्यकता होगी:
# amd64 only
dpkg --add-architecture i386
apt-get update
apt-get install libstdc++6:i386 libxml2:i386 zlib1g:i386 libpopt0:i386
यदि आपके पास पहले से नहीं है तो कप स्थापित करें:
apt-get install cups
कैनन CAPT प्रिंटर ड्राइवर को डाउनलोड और अनपैक करें:
wget http://gdlp01.c-wss.com/gds/6/0100004596
tar -zxvf Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz/03/Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz
अपनी वास्तुकला के आधार पर 32-बिट या 64-बिट ड्राइवर स्थापित करें:
अब /usr/share/cups/model
प्रिंटरों का वर्णन करने वाली ppd फ़ाइलों की तलाश करें और अपने प्रिंटर से मेल खाने वाले (या निकटतम) का चयन करें:
# grep -H ModelName /usr/share/cups/model/*.ppd | less
...
/usr/share/cups/model/CNCUPSLBP6018CAPTS.ppd:*ModelName: "Canon LBP6000/LBP6018 CAPT (US)"
इस मामले में हमने चुना CNCUPSLBP6018CAPTS.ppd
जो मॉडल LBP6000 से मेल खाता है।
प्रिंटर जोड़ें:
# lpadmin -p LBP6000 -m CNCUPSLBP6018CAPTS.ppd -v ccp://localhost:59687
# lpadmin -p LBP6000 -E
# ccpdadmin -p LBP6000 -o /dev/usb/lp0
और कैनन ccpd डेमॉन को स्वचालित रूप से शुरू करने के लिए अपने सिस्टम को कॉन्फ़िगर करें:
# update-rc.d ccpd defaults
समस्या
कैनन प्रिंटर ड्राइवर के साथ कई समस्याएं हैं:
यह डेबियन के लिए बनाया गया था और अंतिम समर्थित उबंटू संस्करण 12.04 था। यह 14.04 में काम करता है।
इसमें बंद स्रोत बाइनरी लाइब्रेरी शामिल हैं जो 32-बिट i386 के लिए बनाए गए हैं, इसलिए इसे मूल रूप से amd64 (64-बिट पैकेज में भी) नहीं चलाया जा सकता है
captstatusui cnsktmodule.c में एक अनबाउंड कॉल शामिल करता है strcpy
जो aborted *** buffer overflow detected ***
कुछ सिस्टम पर त्रुटि के साथ विफल हो जाता है
कैनन प्रिंटर ड्राइवर वास्तव में एक अलग डेमॉन है जो एक स्थानीय या नेटवर्क सॉकेट पर कप से बात करता है - यह आपके सिस्टम पर एक खुला नेटवर्क पोर्ट छोड़ता है, और मुझे संदेह है कि कैनन कोड कभी सुरक्षा कमजोरियों के लिए ऑडिट किया गया है
प्रिंटर कप में दो बार दिखाई दे सकता है (एक बार ऑटो-डिटेक्ट किए गए USB प्रिंटर के लिए, एक बार Canon CCPD डेमॉन के रूप में) लेकिन "USB" प्रिंटर काम नहीं करेगा यदि आप कोशिश करते हैं और इसे प्रिंट करते हैं। प्रिंटर सेटिंग्स में, यदि आप अपने प्रिंटर को USB प्रिंटर के रूप में कॉन्फ़िगर करते हैं, तो आपको इसे मैन्युअल रूप से अक्षम करना होगा (राइट क्लिक करें, अक्षम करें)
कैनन प्रिंटर से बात करने के लिए अपने स्वयं के मालिकाना सॉफ्टवेयर और प्रोटोकॉल का उपयोग करता है, यही कारण है कि यह कप के साथ एकीकृत नहीं है, स्वचालित रूप से पता नहीं चलता है, और मैन्युअल रूप से स्थापित करने के लिए ड्राइवर की आवश्यकता होती है। यह उम्मीद करना उचित है कि एक प्रिंटर को स्वचालित रूप से पता लगाया जाना चाहिए और बस काम करना चाहिए, लेकिन कैनन LBP के साथ यह संभव नहीं है। मेरा अगला प्रिंटर एक प्रिंटर होगा जो खुले स्रोत के ड्राइवरों के साथ "बस काम करता है", संभवतः एक नेटवर्क प्रिंटर जो पीसीएल - प्रिंटर कमांड भाषा मानक का समर्थन करता है , जैसे भाई एचएल -2250 डीएन (सस्ते डुप्लेक्स नेटवर्क प्रिंटर, पहले अमेज़ॅन के शीर्ष बेच लेजर प्रिंटर) , या HP लिनक्स अनुशंसित प्रिंटर जो उनके खुले स्रोत HPLIP सॉफ़्टवेयर के साथ काम करता है ।
सोर्स कोड के लिए बिल्ड स्क्रिप्ट पुरानी और थोड़ी गड़बड़ है। बंद स्रोत i386 बाइनरी लाइब्रेरी को शामिल करने और बिल्ड स्क्रिप्ट में मल्टीकार के लिए समर्थन की कमी के कारण, पूरी तरह से काम करने वाले 64-बिट रिलीज को संकलित करना बहुत कठिन होगा। 32-बिट रिलीज़ को संकलित करना, 32-बिट सिस्टम पर, संभव है जब आप बिल्ड सिस्टम में विभिन्न बग के आसपास काम कर चुके हों।
समस्या: ccpd हैंग हो जाता है
कभी-कभी ccpd हैंग हो जाता है और कतार कहती है "प्रसंस्करण के बाद से ..."
मैन्युअल पुनरारंभ करने का प्रयास करें:
pkill -9 -x ccpd
pkill -9 -x captmoncnabc
/etc/init.d/ccpd start
/etc/init.d/ccpd status
समस्या: ccpd काम नहीं करता है - सिस्टम स्टार्टअप के बाद केवल एक ccpd प्रक्रिया चल रही है
सामान्य ऑपरेशन के लिए दो ccpd प्रक्रिया एक सिस्टम में चल रही होनी चाहिए। दूसरी प्रक्रिया को लागू करने से पहले ccpd डेमन कप डेमॉन चलाने पर निर्भर करता है। आप समस्या को हल करने के लिए निम्न विधि का उपयोग कर सकते हैं:
कप इनिट स्क्रिप्ट (अपडेट- rdd कप डिफॉल्ट) सक्षम करें।
कप इनिट के बाद चलने के लिए ccpd init स्क्रिप्ट को निर्देश दें (update-rc.d ccpd defaults 99), या /etc -rc.local स्क्रिप्ट में "स्लीप 10 && /etc/init.d/ccpd start" जोड़ें।
यदि आप UDEV नियमों और स्टार्टअप स्क्रिप्ट का उपयोग करना चाहते हैं, तो ध्यान रखें कि UDEV नियम CUPS init स्क्रिप्ट से पहले निष्पादित होते हैं, इसलिए यह ccpd init स्क्रिप्ट को पुनरारंभ करने के लिए उपयोगी हो सकता है, बल्कि तब प्रारंभ करें। उदाहरण के लिए, आप निम्नलिखित स्ट्रिंग को "/etc/rc.local" में रख सकते हैं:
नींद 10 && /etc/init.d/ccpd पुनरारंभ करें
( उबंटू विकि से समाधान
)
कैनन समर्थन के लिए बग और मुद्दों की रिपोर्टिंग
चालक के साथ किसी भी बग और मुद्दों की रिपोर्टिंग के लिए कैनन का एक आधिकारिक ईमेल पता है:
sup-debian@list.canon.co.jp
स्रोत से बनाएँ
यदि आप स्रोत से निर्माण और स्थापित करने की कोशिश कर रहे हैं, तो इन निर्देशों का पालन करें ( आर्क बिल्ड स्क्रिप्ट भी मदद कर सकती है):
sudo apt-get install build-essential automake libtool libgtk2.0-dev libglade2-dev libcups2-dev
wget http://gdlp01.c-wss.com/gds/6/0100004596/03/Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz
tar -zxvf Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz
cd Linux_CAPT_PrinterDriver_V260_uk_EN/Src/
# do cndrvcups-common
sudo apt-get install build-essential automake libtool libgtk2.0-dev libglade2-dev libcups2-dev
rm -rf cndrvcups-common-2.60-1/
tar -zxvf cndrvcups-common-2.60-1.tar.gz
cd cndrvcups-common-2.60-1/
sed -i -e 's/-lcups/-lcups -lgmodule-2.0/' cngplp/src/Makefile.am
dpkg-buildpackage -b -uc
cd ..
sudo apt-get install cups
sudo dpkg -i cndrvcups-common_2.60-1_amd64.deb
# do cndrvcups-capt
rm -rf cndrvcups-capt-2.60-1/
tar -zxvf cndrvcups-capt-2.60-1.tar.gz
cd cndrvcups-capt-2.60-1/
export echo=echo
sed -i -e 's/dh_shlibdeps/dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info/' debian/rules
sed -i -e 's/eval cmds=\"$old_archive_cmds/echo/' cngplp/ltmain.sh
sed -i -e 's:uimain.h":uimain.h"\n#include <cups/ppd.h>:' statusui/src/ppapdata.c
sed -i -e 's/cnsktmodule.la/cnsktmodule.la -lpthread/' statusui/src/Makefile.am
debian/rules configure
sed -i -e 's/RANLIB=/#RANLIB=/' cngplp/libtool
debian/rules build
fakeroot debian/rules install
fakeroot debian/rules binary-arch
cd ..
sudo dpkg -i cndrvcups-capt_2.60-1_amd64.deb
मैं इस मार्ग का अनुसरण करने के इच्छुक किसी भी व्यक्ति के लिए एक नोट के रूप में इसे शामिल कर रहा हूं। अधिकांश लोगों को स्रोत से इसे बनाने का प्रयास नहीं करना चाहिए। यहां तक कि एक amd64 प्रणाली पर, परिणामी पैकेज में बंद i386 पुस्तकालय शामिल होंगे।