====== Установка в Debian ======
На [[http://www.canon-europe.com/support/consumer_products/products/printers/laser/i-sensys_lbp3010.aspx?type=download&softwaredetailid=tcm:13-1057853&os=&language= | сайте производителя]] имеется версия 2.70 для 32-битных и 64-битных версий Debian GNU/Linux.
Скачиваем оттуда файл [[http://gdlp01.c-wss.com/gds/6/0100004596/04/Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz | Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz]], распаковываем его, переходим в каталог ''Linux_CAPT_PrinterDriver_V270_uk_EN/64-bit_Driver/Debian'' (в случае 64-битной операционной системы), и выполняем установку драйвера:
sudo dpkg -i cndrvcups-capt_2.70-1_amd64.deb cndrvcups-common_3.20-1_amd64.deb
====== Сборка deb-пакетов из исходников ======
Содержимое этого раздела было актуально для драйверов версии до 2.40. После выпуска версии **2.60** (см. выше) необходимые файлы уже содержатся в поставляемом архиве. Поэтому в случае установки по описанному выше сценарию можно сразу переходить к разделу [[canon#настройка_ccpd]]
Скачиваем архив с драйверами с сайта Canon:
http://www.canon.fr/Support/Consumer_Products/products/printers/Laser/i-SENSYS_LBP3010.aspx?DLtcmuri=tcm:79-1000704&page=1&type=download
http://www.canon.fr/Support/Consumer_Products/products/printers/Laser/i-SENSYS_LBP3010.aspx?DLtcmuri=tcm:79-846494&page=1&type=download
Распаковываем архив:
tar xvf Linux_CAPT_PrinterDriver_V240_uk_EN/Src/cndrvcups-common-2.40-1.tar.gz
cd cndrvcups-common-2.40
Заменяем в файле debian/control строку
Architecture: i386
на
Architecture: amd64
Затем запускаем создание пакета:
dpkg-buildpackage -B
Переходим в каталог уровнем выше (по умолчанию пакет создаётся там) и устанавливаем пакет:
cd ..
dpkg -i cndrvcups-common_2.40-1_amd64.deb
Собираем пакет cndrvcups-capt:
tar xvf Linux_CAPT_PrinterDriver_V240_uk_EN/Src/cndrvcups-capt-2.40-1.tar.gz
cd cndrvcups-capt-2.40
Редактируем файлы в соответствии со следующим diff-файлом:
diff -Nuar cndrvcups-capt-2.40.orig/cngplp/configure.in cndrvcups-capt-2.40/cngplp/configure.in
--- cndrvcups-capt-2.40.orig/cngplp/configure.in 2011-05-26 05:21:44.000000000 +0300
+++ cndrvcups-capt-2.40/cngplp/configure.in 2012-11-05 01:59:00.000000000 +0200
@@ -35,7 +35,7 @@
AM_GLIB_GNU_GETTEXT
AM_DISABLE_STATIC
-AC_PROG_LIBTOOL
+AM_PROG_LIBTOOL
AC_OUTPUT([Makefile
cngplpmod/Makefile
diff -Nuar cndrvcups-capt-2.40.orig/debian/control cndrvcups-capt-2.40/debian/control
--- cndrvcups-capt-2.40.orig/debian/control 2011-07-05 10:37:16.000000000 +0300
+++ cndrvcups-capt-2.40/debian/control 2012-11-05 01:59:00.000000000 +0200
@@ -6,7 +6,7 @@
Standards-Version: 3.6.1
Package: cndrvcups-capt
-Architecture: i386
+Architecture: i386 amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, cndrvcups-common (>= 2.40)
Replaces: cndrvcups-lipslx, cndrvcups-ufr2-uk, cndrvcups-ufr2-us
Description: Canon CAPT Printer Driver for Linux
diff -Nuar cndrvcups-capt-2.40.orig/debian/rules cndrvcups-capt-2.40/debian/rules
--- cndrvcups-capt-2.40.orig/debian/rules 2011-08-02 11:04:27.000000000 +0300
+++ cndrvcups-capt-2.40/debian/rules 2012-11-05 01:59:00.000000000 +0200
@@ -169,7 +169,7 @@
# dh_python
# dh_makeshlibs
dh_installdeb
- dh_shlibdeps
+ dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
dh_gencontrol
dh_md5sums
dh_builddeb
diff -Nuar cndrvcups-capt-2.40.orig/statusui/src/ppapdata.c cndrvcups-capt-2.40/statusui/src/ppapdata.c
--- cndrvcups-capt-2.40.orig/statusui/src/ppapdata.c 2011-10-27 05:03:50.000000000 +0300
+++ cndrvcups-capt-2.40/statusui/src/ppapdata.c 2012-11-05 01:59:00.000000000 +0200
@@ -24,6 +24,7 @@
#include
#include
+#include
#include "uimain.h"
#include "cnsktmodule.h"
diff -Nuar cndrvcups-capt-2.40.orig/statusui/src/uimain.c cndrvcups-capt-2.40/statusui/src/uimain.c
--- cndrvcups-capt-2.40.orig/statusui/src/uimain.c 2011-10-27 04:57:32.000000000 +0300
+++ cndrvcups-capt-2.40/statusui/src/uimain.c 2012-11-05 01:59:00.000000000 +0200
@@ -29,6 +29,7 @@
#include "interface.h"
#include "data_process.h"
#include
+#include
#define MAX_WORD_SIZE 512
#define LOCALE_STRING_JA "ja_JP.UTF-8"
Выходим из каталога и устанавливаем собранный пакет:
cd ..
dpkg -i cndrvcups-capt_2.40-1_amd64.deb
====== Настройка CCPD ======
ccpdadmin -p LBP3010 -o /dev/usb/lp0
mkdir /var/ccpd
mkfifo /var/ccpd/fifo0
chown -R lp:lp /var/ccpd
====== Настройка CUPS ======
http://localhost:631/admin
или
/usr/sbin/lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
====== Загрузка модуля usblp ======
modprobe usblp
ls -l /dev/usb/lp0
/etc/init.d/ccpd restart
====== Автоматический запуск служб печати ======
===== Модуль ядра usblp =====
Для автоматической загрузки модуля ''usblp'' при запуске системы в Debian можно добавить этот модуль в список в файле
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
usblp
===== Запуск CUPS =====
Чтобы CUPS запускался автоматически при загрузке системы, нужно включить для него автозапуск.
В системах с systemd это можно сделать так:
sudo systemctl enable cups
В системах без systemd так:
sudo update-rc.d cups enable
===== Запуск CCPD =====
Для того, чтобы обеспечить правильный запуск службы CCPD, нужно, чтобы она запускалась после CUPS и после загрузки модуля ''usblp''. Поэтому сценарий запуска, поставляемый производителем (до версии 2.70 -- точно), нужно модифицировать следующим образом:
#!/bin/sh
# startup script for Canon Printer Daemon for CUPS (ccpd)
### BEGIN INIT INFO
# Provides: ccpd
# Required-Start: kmod cups
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 1
# Short-Description: Canon Printer Daemon for CUPS (ccpd)
# Description: Canon Printer Daemon for CUPS (ccpd)
### END INIT INFO
#if [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]; then
# while [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]
# do
# sleep 3
# done
# sleep 5
#fi
Т.е. добавить в него заголовок, принятый в Debian для сценариев запуска служб, заключённый между строками
### BEGIN INIT INFO
...
### END INIT INFO
и закомментировать блок ожидания запуска службы CUPS, написанный разработчиками драйвера. Если его не закомментировать, на ряде систем это приведёт к очень долгому (если не бесконечному) ожиданию при загрузке системы. Возможно даже приведёт к тому, что система перестанет загружаться совсем.
После редактирования файла ''/etc/init.d/ccp'' нужно обновить ссылки для автоматического запуска.
sudo update-rc.d ccpd remove
sudo update-rc.d ccpd defaults
====== Полезные ссылки ======
https://help.ubuntu.com/community/CanonCaptDrv190
https://forums.mageia.org/en/viewtopic.php?f=24&t=630&start=25
http://forums.fedoraforum.org/showthread.php?t=271457