Благодаря тому что написано здесь Включение в ядро модуля usblp для поддержки не слишком новых принтеров
Установка принтеров canon LBP1120, LBP1210, LBP2900, LBP3000, LBP3010, LBP3018, LBP3050, LBP3100, LBP6000 и т.д. стала возможной и относительно не сложной проверено на LBP2900 и LBP3010
Я накидал инструкцию по установке, основываясь на этом: Canon CAPT Printer - Gentoo wiki
если кто то напишет скрипт проделывающий все это буду очень благодарен, и не я один думаю. Итак вот что нужно делать чтобы настроить принтер:
- Скачиваем драйвер c официального сайта Canon i-SENSYS LBP2900 - Поддержка - Загрузка драйверов, программного обеспечения и руководств - Canon Russia
На момент написания V2.71 (думаю больше обновляться не будет)
Далее все выполняется под суперпользователем
- Обновляемся:
cl-update
- Устанавливаем пакет RPM:
emerge app-arch/rpm
- Разархивируем скачанный архив с драйвером и находим там папку \64-bit_Driver\RPM в ней
два rpm файла cndrvcups-capt-2.71-1.x86_64.rpm и cndrvcups-common-3.21-1.x86_64.rpm
- устанавливаем оба файла:
rpm -Uvh --nodeps cndrvcups-common-3.21-1.x86_64.rpm
rpm -Uvh --nodeps cndrvcups-capt-2.71-1.x86_64.rpm
-
Перемещаем (ну или копируем) папку cups со всем содержимым из /usr/lib64 в /usr/libexec
-
Устанавливаем принтер printer_model думаю можно написать как вам хочется, driver_file для вашего аппарата находим в /usr/share/cups/model, некоторые модели объеденены в один ppd файл, например
для LBP3010 нужно выбрать файл CNCUPSLBP3050CAPTK.ppd.
lpadmin -p printer_model -m printer_driver_file -v ccp://localhost:59687 -E
-
Включаем модуль поддержки usb принтеров:
modprobe usblp -
Заходим в /etc/modprobe.d/blacklist-calculate.conf закомментируем usblp чтобы убрать модуль из черного списка
-
Регистрируем принтер в ccpd:
ccpdadmin -p LBP6310 -o /dev/usb/lp0
меняем содержимое скрипта запуска ccpd (425 Байт)
в /etc/init.d на это (я его подправил для openrc-run и убрал лишнее):
#!/sbin/openrc-run
depend() {
need cupsd
after cupsd
}
DAEMON=‘/usr/sbin/ccpd’
start () {
sleep 10
echo 'ccpd запускается ’
start-stop-daemon --start --quiet --oknodo --exec $DAEMON
sleep 1
echo 'ccpd запущен ’
}
stop() {
echo 'ccpd останавливается ’
start-stop-daemon --stop --quiet --oknodo --signal 15 --exec $DAEMON
sleep 1
echo 'ccpd остановлен ’
}
status() {
pidof $DAEMON
}
- добавляем ccpd в автозагрузку:
rc-update add ccpd default
- перезагружаем демонов cups и ccp:
/etc/ init.d/cupsd restart
/etc/ init.d/ccpd restart
- Проверяем статус демона ccpd:
/etc/init.d/ccpd status
должно быть 2 числа
например так
пользователь~ $ /etc/init.d/ccpd status
8535 8532
- Пробуем печатать, после перезагрузки принтер должен все так же печатать без проблем.