ক্যানন সিএপিটি প্রিন্টার ড্রাইভার বন্ধ উত্স এবং ক্যাননের সরবরাহিত বাইনারি লাইব্রেরি 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
ক্যানন সিএপিটি প্রিন্টার ড্রাইভারটি ডাউনলোড এবং আনপ্যাক করুন:
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
পিপিডি ফাইলগুলির জন্য সন্ধান করুন যা মুদ্রকগুলি বর্ণনা করে এবং আপনার মুদ্রকের সাথে মেলে এমন একটি (বা তার নিকটতম) চয়ন করুন:
# 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
এবং আপনার সিস্টেমটি স্বয়ংক্রিয়ভাবে ক্যানন সিসিপিডি ডিমন শুরু করতে কনফিগার করুন:
# update-rc.d ccpd defaults
সমস্যা
ক্যানন প্রিন্টার ড্রাইভারের সাথে বেশ কয়েকটি সমস্যা রয়েছে:
এটি ডেবিয়ান এবং সর্বশেষ সমর্থিত উবুন্টু সংস্করণটি 12.04 এর জন্য নির্মিত হয়েছিল। যদিও এটি 14.04 এ কাজ করে।
এটিতে ক্লোজড সোর্স বাইনারি লাইব্রেরি অন্তর্ভুক্ত রয়েছে যা 32-বিট আই 386-র জন্য নির্মিত হয়েছে, সুতরাং এএমড 64 এ স্থানীয়ভাবে চালানো যাবে না (এমনকি 64৪-বিট প্যাকেজের মধ্যেও)
ক্যাপসটাসুশাইতে cnsktmodule.c এ একটি আনবাউন্ডেড কল অন্তর্ভুক্ত রয়েছে strcpy
যা aborted *** buffer overflow detected ***
কিছু সিস্টেমে ত্রুটি সহ ব্যর্থ হয়
ক্যানন প্রিন্টার ড্রাইভারটি একটি পৃথক ডিমন যা স্থানীয় বা নেটওয়ার্ক সকেটের উপর কাপের সাথে কথা বলে - এটি আপনার সিস্টেমে একটি উন্মুক্ত নেটওয়ার্ক পোর্ট ছেড়ে যায় এবং আমি সন্দেহ করি যে সুরক্ষিত দুর্বলতার জন্য ক্যানন কোডটি কখনও নিরীক্ষণ করা হয়েছে doubt
প্রিন্টারটি কাপে দুবার উপস্থিত হতে পারে (একবার স্বয়ংক্রিয় সনাক্ত হওয়া ইউএসবি প্রিন্টারের জন্য, একবার ক্যানন সিসিপিডি ডিমন হিসাবে) তবে আপনি চেষ্টা করে প্রিন্ট করলে "ইউএসবি" প্রিন্টারটি কাজ করবে না। প্রিন্টারের সেটিংসে আপনি যদি আপনার প্রিন্টারটি ইউএসবি প্রিন্টার হিসাবে কনফিগার করা দেখতে পান তবে আপনাকে অবশ্যই এটি ম্যানুয়ালি অক্ষম করতে হবে (ডান ক্লিক করুন, অক্ষম করুন)
প্রিন্টারের সাথে কথা বলার জন্য ক্যানন তাদের নিজস্ব মালিকানাধীন সফ্টওয়্যার এবং প্রোটোকল ব্যবহার করে, যার কারণে এটি কাপের সাথে সংহত হয় না, স্বয়ংক্রিয়ভাবে সনাক্ত হয় না এবং ম্যানুয়ালি ইনস্টল করার জন্য একটি ড্রাইভারের প্রয়োজন। এটি আশা করা যুক্তিসঙ্গত যে কোনও প্রিন্টার স্বয়ংক্রিয়ভাবে সনাক্ত হওয়া উচিত এবং কেবল কাজ করা উচিত তবে ক্যানন এলবিপি দিয়ে এটি সম্ভব নয়। আমার পরবর্তী প্রিন্টারটি এমন একটি মুদ্রক হবে যা ওপেন সোর্স ড্রাইভারদের সাথে "স্রেফ কাজ করে", সম্ভবত এমন একটি নেটওয়ার্ক প্রিন্টার যা পিসিএল সমর্থন করে - প্রিন্টার কমান্ড ল্যাঙ্গুয়েজ স্ট্যান্ডার্ড, ব্রাদার এইচএল -২২৫০ ডিএন (সস্তা ডুপ্লেক্স নেটওয়ার্ক প্রিন্টার, আগে অ্যামাজনের শীর্ষে বিক্রি হওয়া লেজার প্রিন্টার) , বা এইচপি লিনাক্স প্রস্তাবিত প্রিন্টার তাদের ওপেন সোর্স এইচপিএলআইপি সফ্টওয়্যার নিয়ে কাজ করে।
উত্স কোডের জন্য বিল্ড স্ক্রিপ্টগুলি পুরানো এবং কিছুটা বিশৃঙ্খলা। বদ্ধ উত্স i386 বাইনারি লাইব্রেরিগুলি অন্তর্ভুক্তির কারণে এবং বিল্ড স্ক্রিপ্টগুলিতে মাল্টিআরচের পক্ষে সমর্থন না থাকার কারণে, একটি সম্পূর্ণরূপে कार्यरत 64৪-বিট রিলিজ সংকলন করা খুব কঠিন হবে। একবার আপনি বিল্ড সিস্টেমের বিভিন্ন বাগের সাথে কাজ করার পরে 32-বিট সিস্টেমে 32-বিট রিলিজ সংকলন করা সম্ভব।
সমস্যা: সিসিপিডি ঝুলছে
কখনও কখনও সিসিপিডি হ্যাং হয় এবং সারিটি কেবল "প্রসেসিং হ ..."
একটি ম্যানুয়াল পুনঃসূচনা চেষ্টা করুন:
pkill -9 -x ccpd
pkill -9 -x captmoncnabc
/etc/init.d/ccpd start
/etc/init.d/ccpd status
সমস্যা: সিসিপিডি কাজ করে না - সিস্টেম স্টার্টআপের পরে কেবল একটি সিসিপিডি প্রক্রিয়া চলছে
স্বাভাবিক অপারেশনের জন্য একটি সিস্টেমে দুটি সিসিপিডি প্রক্রিয়া চলমান থাকা উচিত। সিসিপিডি ডিমন দ্বিতীয় প্রক্রিয়াটি ফোরক করার আগে কাপ ডিমন রান করার উপর নির্ভর করে। সমস্যার সমাধানের জন্য আপনি নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন:
কাপ থ্রি স্ক্রিপ্ট সক্ষম করুন (আপডেট-আরসি.ডি কাপ ডিফল্ট)।
কাপ ইআরসি (আপডেট-আরসি.ডি সিসিপিডি ডিফল্ট 99) চালানোর জন্য সিসিপিডি init স্ক্রিপ্টটি নির্দেশ দিন বা /etc/rc.local স্ক্রিপ্টে "স্লিপ 10 অ্যান্ড অ্যান্ড /etc/init.d/ccpd স্টার্ট" যুক্ত করুন।
আপনি যদি ইউডিইভি নিয়ম এবং স্টার্টআপ স্ক্রিপ্টটি ব্যবহার করতে চান তবে সচেতন হন যে ইউডিইভি বিধিগুলি CUPS 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 লাইব্রেরি অন্তর্ভুক্ত থাকবে।