Друкарка Canon LBP-1120 в Ubuntu (8.10)

  у розділі Технічні теми 

Canon LBP-1120Хочу описати досвід встановлення принтера LBP-1120 в Ubuntu 8.10 та друк на нього по мережі, з Windows. Проблема принтера полягає в тому що він "програмний" - для його роботи використовуються процесорні потужності комп'ютера з Windows. На щастя Canon має драйвери і для Linux, проте принтер треба додати в систему "правильно".

Я використовував статтю з Community documentation for Ubuntu про встановлення Canon LBP-2900. Проте, для Ubuntu 8.10 дещо змінилось, та і Canon пропонує тепер новіші драйвери.

Крок 1. Завантаження драйверів.

Йдемо на http://software.canon-europe.com/products/0000524.asp та клацаємо на розділ Linux (Canon CAPT Printer Driver for Linux). Потім в розділі Software завантажуємо архів з драйверами. На час написання статті це CAPTDRV160.tar.gz.

Крок 2. Встановлення драйверів.

Раніше треба було конвертували .rpm архіви в .deb . Зараз Canon тішить нас готовими пакетами для встановлення.

Розпакуйте завантажений архів. Встановіть пакети cndrvcups-common_1.60-1_i386.deb та cndrvcups-capt_1.60-1_i386.deb (шукайте в CAPTDRV160/driver/debian).

В мене, на "свіжій" Ubuntu 8.10 крім цих двох було встановленно ще три додаткових пакети (cupsys і т.д).

Крок 3. Реєстрація друкарки.

Раніше треба було створювати спеціальні псевдопристрої (/var/ccpd/fifo0). В мене вони створились самі. Я, лише, про всяк випадок, надав їм та деяким директоріям  потрібних прав:

sudo chmod 777 /var/ccpd/fifo0
sudo chown root /var/ccpd/fifo0
sudo chmod -R a+rX /usr/share/cups/model

Якщо система, при старті, вже автоматично встановила друкарку - видаліть її (в менеджері друкарок: Система->Адміністрування->Друк).

Реєструємо друкарку (з назвою LBP1120):

sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

Реєструємо новий принтер в демоні ccpd:

sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usblp0

Протестуйте чи друкарку додано:

sudo ccpdadmin

Маєте побачити щось на кшталт:

Entry Num : Spooler  : Backend : FIFO path : Device Path : Status
-------------------------------------------------------
[0]  : LBP1120  : ccp  : /var/ccpd/fifo0 : /dev/usblp0  :

Крок 4. Зміна скрипта для запуску ccpd.

Зробіть резервну копію файлу /etc/init.d/ccpd та замініть його вміст (sudo gedit /etc/init.d/ccpd) на таке:

# ccpd  startup script for Canon Printer Daemon for CUPS
#
# Modified for Debian GNU/Linux
# by Raphael Doursenaud <rdoursenaud[at]free.fr>
# and Markovtsev Vadim  <markhor[at]mail.ru>

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

. /lib/lsb/init-functions

case $1 in
start)
log_begin_msg "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --exec $DAEMON
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
log_end_msg $?
;;
status)
echo "$DESC: $NAME:" `pidof $NAME`
;;
restart)
log_begin_msg "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --exec $DAEMON
log_end_msg $?
;;
*)
echo "Usage: ccpd {start|stop|restart|status}"
exit 1
;;
esac

exit 0

Переконайтесь що файл є виконувальним:

sudo chmod a+x /etc/init.d/ccpd

Упевнимося що скрипт буде запускатись при старті системи:

sudo update-rc.d ccpd defaults 20

Тест роботи принтера.

Перевантажте комп'ютер. Майте на увазі - принтер повинен бути включений до того як стартувала система.

Зайдіть у властивості друкарки (з менеджера друкарок) та надрукуйте тестову сторінку. :)

Існує такожє невеличка програма що показує стан принтера (міні-версія тієї що у Windows):

captstatusui -P LBP1120

де LBP1120 - назва друкарки.

Відкриття принтера для друку з мережі.

Запустіть менеджер друкарок (Система->Адміністрування->Друк). В меню Server виберіть пункт Settings. А в ньому поставте "пташку" навпроти "Publish shared printers connected to this system".  Встановіть інші налаштування. на цій сторінці, що відповідають Вашим умовам.

Друк на принтер з іншого комп'ютера (Windows XP).

Друк з мережі відбувається на сервер CUPS.

При встановленні друкарки у Windows вкажіть що це Інтернет-принтер. Адреса друкарки: http://IP_Ubuntu:631/printers/LBP1120, де IP_Ubuntu - IP-адреса нашого комп'ютера Ubuntu p друкаркою, а LBP1120 - назва принтера.

Переглянути перелік усіх доступних друкарок можна на сторінці

 class="brush:bash;gutter:false;"}http://IP_Ubuntu:631/printers/

Менеджер друку Windows запитає пароль для підключення до віддаленої друкарки. анонімно, в мене, не спрацювало. Я мусів вказати ім'я та пароль користувача Ubuntu (можна створити якогось користувача спеціально для друку). Це ще треба дослідити детальніше.

Якщо при спробі друканути з Windows документ лягає в чергу, але не друкується - перевірте програму що показує стату друкарки (про яку описано вище). Ймовірно принтер став на "паузу". Натисніть "Resume" для продовження друку.

Щоб позбутись цієї проблеми, в налаштування друкарки у Windows (закладка "Додатково") встановіть опцію "Друкувати прямо на принтер" (а не "Використовувати чергу друку").

Ну ось і все. Друкуйте на здоров'я! ;)


Коментарі