Ubuntu 14.04 के तहत चलने के लिए मेरा Canon LBP प्रिंटर नहीं मिल सकता


17

मैंने कैनन से लिनक्स सीएपीटी चालक V2.60 डाउनलोड किया और दोनों .deb पैकेज स्थापित किए, जो उबंटू सॉफ्टवेयर-सेंटर के साथ 64 बिट फ़ोल्डर के तहत सूचीबद्ध थे। मेरा Canon प्रिंटर अभी भी पहचाना नहीं जाएगा। क्या मुझे कुछ और करना है? मेरा प्रिंटर USB पर जुड़ा हुआ है।

उबंटू मेरे कार्यालय के लिए एक महान प्रतिकृति बना देगा, लेकिन दुर्भाग्य से प्रिंटर समर्थन के बिना मैं अभी भी विंडोज पर भरोसा करूंगा।

यहाँ छवि विवरण दर्ज करें


कैनन द्वारा लिनक्स को समर्थन की कमी के लिए उबंटू को दोष न दें।
रिनविंड

@ रिनविंड मुझे लगता है कि उबंटू के पास बेहतर समर्थन हासिल करने के लिए कैनन से बात करने के लिए पर्याप्त शक्ति होगी।
एम्पेडोकल्स

नहींं आप वहां गलत हैं। सरल: कैनन एक व्यवसाय के रूप में पैसा चाहता है। और कैनोनिकल भुगतान नहीं करेगा (यह कंपनी के आदर्शों के खिलाफ है)। कैनन पर उबंटू के संबंध में आपके द्वारा देखे गए सभी समर्थन एक (!) स्वयंसेवक (लॉन्चपैड पर michael gruz, launchpad.net/~michael-gruz/+archive/canon-trunk ) से है।
रिनविंड

@ रिनविंड निर्देश के अनुसार, मैंने एक टर्मिनल खोला और "सूदो ऐड-रिप-रिपॉजिटरी पीपीए: माइकेल-ग्रुज़ / कैनन-ट्रंक" और "सूदो एप-गेट अपडेट" किया। और कुछ?
एम्पेडोकल्स

1
वह PPA अप्रचलित है, यह Ubuntu 14.04 का समर्थन नहीं करता है।
बैन

जवाबों:


14

कैनन 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-बिट ड्राइवर स्थापित करें:

  • 32-बिट

    dpkg -i Linux_CAPT_PrinterDriver_V260_uk_EN/32-bit_Driver/Debian/*.deb
    
  • 64-बिट

    dpkg -i Linux_CAPT_PrinterDriver_V260_uk_EN/64-bit_Driver/Debian/*.deb
    

अब /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 डेमन कप डेमॉन चलाने पर निर्भर करता है। आप समस्या को हल करने के लिए निम्न विधि का उपयोग कर सकते हैं:

  1. कप इनिट स्क्रिप्ट (अपडेट- rdd कप डिफॉल्ट) सक्षम करें।

  2. कप इनिट के बाद चलने के लिए 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 पुस्तकालय शामिल होंगे।


धन्यवाद। मैं भी हमेशा ऊर्जा-दक्षता की तलाश में रहता हूं। LaserJet प्रो P1102 के बारे में क्या? topten.ch/deutsch/buro/laserdrucker/…
empedokles

HPLIP P1102 पेज के अनुसार प्रिंटर पूरी तरह से Ubuntu 14.04 पर समर्थित है। इसे डाउनलोड करने योग्य बंद स्रोत प्लगइन की आवश्यकता होती है; वे सॉफ्टवेयर ( hp-setup) प्रदान करते हैं जो डाउनलोड करें और इसे कॉन्फ़िगर करें।
बैन


1
जवाब के लिए धन्यवाद! वैसे, आपको कैसे पता चला कि libstdc++6:i386 libxml2:i386 zlib1g:i386आवश्यकता थी? निर्देशों का उल्लेख किया था ia32-libs, जो बाद के Ubuntu संस्करणों में अनुपस्थित रहा है, इसलिए मैंने सोचा है कि प्रतिस्थापन क्या था।
syockit

1
@syockit यदि आप file canon/libcapt.soइसे चलाते हैं तो यह Canon पुस्तकालयों को "ELF 32-बिट" के रूप में पहचान देगा, इसलिए हमें पता है कि इसे 32-बिट डायनेमिक लाइब्रेरी की आवश्यकता है। भागो ldd की तरह ldd canon/libcapt.so- लिंकर किसी भी आवश्यक गतिशील पुस्तकालयों को मुद्रित करेगा और जो नहीं मिला है उसे दिखाएगा। इसके बाद आप उपयोग कर सकते हैं apt-file search libpthread.soपैकेज पुस्तकालयों में हैं खोजने के लिए।
बैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.