Canon CAPT yazıcı sürücüsü kapalı kaynaklıdır ve Canon tarafından sağlanan ikili kütüphaneler i386 için derlenmiştir. Eğer amd64 üzerindeyseniz, önce çoklu arşivlemeyi etkinleştirmeniz ve bazı kütüphaneleri yüklemeniz gerekir:
# amd64 only
dpkg --add-architecture i386
apt-get update
apt-get install libstdc++6:i386 libxml2:i386 zlib1g:i386 libpopt0:i386
Zaten sahip değilseniz bardakları takın:
apt-get install cups
Canon CAPT yazıcı sürücüsünü indirip paketinden çıkarın:
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
Mimarinize bağlı olarak 32 bit veya 64 bit sürücü yükleyin:
Şimdi /usr/share/cups/model
yazıcıları tanımlayan ppd dosyalarını arayın ve yazıcınızla eşleşen (veya ona en yakın olan) dosyayı seçin:
# grep -H ModelName /usr/share/cups/model/*.ppd | less
...
/usr/share/cups/model/CNCUPSLBP6018CAPTS.ppd:*ModelName: "Canon LBP6000/LBP6018 CAPT (US)"
Bu durumda CNCUPSLBP6018CAPTS.ppd
hangi model LBP6000 ile eşleştiğini seçtik .
Yazıcı ekle:
# lpadmin -p LBP6000 -m CNCUPSLBP6018CAPTS.ppd -v ccp://localhost:59687
# lpadmin -p LBP6000 -E
# ccpdadmin -p LBP6000 -o /dev/usb/lp0
Ve sisteminizi Canon ccpd arka plan programını otomatik olarak başlatacak şekilde yapılandırın:
# update-rc.d ccpd defaults
sorunlar
Canon yazıcı sürücüsüyle ilgili birkaç sorun var:
Debian için yapılmış ve desteklenen son Ubuntu sürümü 12.04'tür. Yine de 14.04'te çalışıyor.
32 bit i386 için oluşturulmuş kapalı kaynak ikili kütüphaneleri içerir, bu nedenle amd64 üzerinde (64 bit pakette bile) yerel olarak çalıştırılamaz
captstatusui, strcpy
cnsktmodule.c dosyasına aborted *** buffer overflow detected ***
, bazı sistemlerde hata ile başarısız olan sınırsız bir çağrı içerir
Canon yazıcı sürücüsü aslında yerel veya ağ soketi üzerinden bardaklarla konuşan ayrı bir arka plan programıdır - sisteminizde açık bir ağ bağlantı noktası bırakır ve Canon kodunun güvenlik açıkları için denetlendiğinden şüpheliyim
Yazıcı kaplarda iki kez görünebilir (bir kez otomatik olarak algılanan USB yazıcı için, bir kez Canon CCPD arka plan programı olarak görünebilir), ancak yazdırmaya çalışırsanız "USB" yazıcı çalışmaz. Yazıcı ayarlarında, yazıcınızın USB yazıcı olarak yapılandırıldığını görürseniz, el ile devre dışı bırakmanız gerekir (sağ tıklama, devre dışı bırakma)
Canon, yazıcıyla konuşmak için kendi özel yazılımlarını ve protokollerini kullanır, bu nedenle bardaklarla entegre edilmez, otomatik olarak algılanmaz ve bir sürücünün manuel olarak kurulmasını gerektirir. Bir yazıcının otomatik olarak algılanmasını ve sadece çalışmasını beklemek mantıklıdır, ancak Canon LBP ile bu mümkün değildir. Bir sonraki yazıcım , Brother HL-2250DN (ucuz dubleks ağ yazıcısı, daha önce Amazon'un en çok satan lazer yazıcısı) gibi PCL - Yazıcı Komut Dili standardını destekleyen bir ağ yazıcısı olan açık kaynaklı sürücülerle "sadece çalışan" bir yazıcı olacak. veya açık kaynaklı HPLIP yazılımlarıyla çalışan HP Linux tarafından önerilen bir yazıcıdır .
Kaynak kod için derleme betikleri eski ve biraz karışık. Kapalı kaynak i386 ikili kitaplıklarının eklenmesi ve yapı komut dosyalarında çok amaçlı desteğin bulunmaması nedeniyle, tam olarak çalışan bir 64 bit sürümünün derlenmesi çok zor olacaktır. 32 bitlik bir sürümü 32 bitlik bir sistemde derlemek, derleme sistemindeki çeşitli hatalar üzerinde çalıştıktan sonra mümkündür.
Sorun: ccpd kilitleniyor
Bazen ccpd kilitleniyor ve sıra "Şu tarihten beri işleniyor ..." diyor
Manuel olarak yeniden başlatmayı deneyin:
pkill -9 -x ccpd
pkill -9 -x captmoncnabc
/etc/init.d/ccpd start
/etc/init.d/ccpd status
Sorun: ccpd çalışmıyor - sistem başladıktan sonra yalnızca bir ccpd işlemi çalışıyor
Normal çalışma için bir sistemde iki ccpd işlemi çalışıyor olmalıdır. Ccpd arka plan programı, ikinci süreci çatallamadan önce kupa arka plan programına bağlıdır. Soruna geçici bir çözüm bulmak için aşağıdaki yöntemi kullanabilirsiniz:
Bardak başlangıç komut dosyasını etkinleştirin (update-rc.d bardak varsayılanları).
Ccpd init betiğine bardaklar başlangıcından sonra çalışmasını söyleyin (update-rc.d ccpd varsayılan 99) veya /etc/rc.local betiğine "sleep 10 && /etc/init.d/ccpd start" ekleyin.
UDEV kurallarını ve başlangıç komut dosyasını kullanmak istiyorsanız, UDEV kurallarının CUPS init komut dosyasından önce yürütüldüğünü unutmayın, bu nedenle yalnızca başlamak yerine ccpd init komut dosyasını yeniden başlatmak yararlı olabilir. Örneğin, "/etc/rc.local" dosyasına aşağıdaki dizeyi yerleştirebilirsiniz:
uyku 10 && /etc/init.d/ccpd yeniden başlatma
( Ubuntu wiki çözümü
)
Hataları ve sorunları Canon desteğine bildirme
Canon'un sürücüdeki hataları ve sorunları bildirmek için resmi bir e-posta adresi vardır:
sup-debian@list.canon.co.jp
Kaynaktan derleme
Kaynaktan oluşturmayı ve yüklemeyi denemeye cazipseniz, aşağıdaki talimatları uygulayın ( Arch derleme betiği de yardımcı olabilir):
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
Bu yolu izlemeye meyilli herkes için bir not olarak ekliyorum. Çoğu insan bunu kaynağından inşa etmeye çalışmamalıdır. Bir amd64 sisteminde bile, elde edilen paket kapalı i386 kütüphanelerini içerecektir.