Делал так. работает 4-месяй без сбоев. Ubuntu 9.04
1. Принтер отключен, включить компьютер.
2. Подготавливаем для установки принтера пакеты:
$ sudo apt-get install libxml1 libpng12-0 libpng12-dev libgtk1.2 libgtk1.2-common
3. Драйвера скачать, распаковать, установить
http://software.canon-europe.com/products/0010177.asp cndrvcups-common_1.60-1_i386.deb
cndrvcups-capt_1.60-1_i386.deb
4.Разрешаем доступ всем
$ sudo chmod 777 /var/ccpd/fifo0
Переходим в /usr/share/ppd/ и создаём ссылки
$ cd /usr/share/ppd/
$ sudo ln -s /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd
Регистрируем принтер в системе
$sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
Регистрируем принтер в cppd
$ sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
Добавляем скрипт в автозагрузку
$ sudo update-rc.d ccpd defaults 20
Включаем принтер и делаем доступным
$ sudo chmod 777 /dev/usb/lp0
Заменим файл /etc/init.d/ccpd
Код:
#!/bin/sh
#
DAEMON=/usr/sbin/ccpd
LOCKFILE=/var/lock/subsys/ccpd
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=ccpd
DESC="Canon Printer Daemon for CUPS"
test -f $DAEMON || exit 0
case $1 in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --exec $DAEMON
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
echo "."
;;
status)
echo "$DESC: $NAME:" `pidof $NAME`
;;
restart)
echo -n "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --exec $DAEMON
echo "."
;;
*)
echo "Usage: ccpd {start|stop|status}"
exit 1
;;
esac
exit 0
#Установим права доступа для /etc/init.d/ccpd
sudo chmod a+x /etc/init.d/ccpd
#Запустим ccpd демона
sudo /etc/init.d/ccpd start
#Установим ccpd в автозагрузку
sudo update-rc.d ccpd defaults 20
#Добавим две строчки в файл /etc/apparmor.d/usr.sbin.cupsd (отмечено символами ###):
Код:
/var/run/avahi-daemon/socket rw,
/var/run/cups/ rw,
/var/run/cups/** rw,
/var/spool/cups/ rw,
/var/spool/cups/** rw,
# needed for Canon CAPT driver ###
/var/ccpd/** rw, ###
# third-party printer drivers; no known structure here
/opt/** rix,
#Перезапустим apparmor
sudo /etc/init.d/apparmor restart
#Изменим строку в файле etc/default/acpi-support
Код:
# Add services to this list to stop them before suspend and restart them in
# the resume process.
STOP_SERVICES="ccpd"
==========================================
создаем папку /var/log/ccpd/
=================================
Всё, должно работать. Без перезгрузки и после перезагрузки.
если без перезагрузки не хочет - то
sudo /etc/init.d/ccpd restart