Установка CAPT принтеров Canon LaserShot на примере LBP-1120
ВНИМАНИЕ: команды предваряемые символом '#
' должны выполняться с правами root (Суперпользователь). Открыв терминал (или находясь в консоли) с правами обычного пользователя, введите команду $ su -
для повышения уровня привелегий. Символы '$
' и '#
' в начале строки не являются частью команды и не должны вводится. Прочие команды могут выполняться с правами обыкновенного пользователя.
Содержание
Подготовка
Закачиваем драйвер с сайта Canon. Архив CAPTDRV180.tar.gz содержит два RPM пакета. Распаковываем его:
$ tar xf CAPTDRV180.tar.gz
убеждаемся что подсистема печати CUPS установлена:
# yum install cups
Установка
Устанавливаем capt драйвер и перезагружаем сервис cups:
# cd CANON_UK/Driver/RPM/
# yum localinstall --nogpgcheck cndrvcups-capt-1.80-1.i386.rpm cndrvcups-common-1.80-1.i386.rpm
# service cups restart
Регистрируем принтер принтер под именем LBP1120 используя файл описания соответствующий нашей модели принтера - CNCUPSLBP1120CAPTK.ppd:
# /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
Другие файлы описания находим здесь:
# ls /usr/share/cups/model/
Создаем FIFO каналы необходимые для связи демона ccpd и cups (не требуется для драйвера 1.80 и новее):
# mkdir /var/ccpd
# mkfifo -m 666 /var/ccpd/fifo0
# mkfifo -m 666 /var/ccpd/fifo1
# mkfifo -m 666 /var/ccpd/fifo2
# mkfifo -m 666 /var/ccpd/fifo3
# mkfifo -m 666 /var/ccpd/fifo4
# mkfifo -m 666 /var/ccpd/fifo5
# mkfifo -m 666 /var/ccpd/fifo6
# mkfifo -m 666 /var/ccpd/fifo7
# chmod 666 /var/ccpd/fifo*
Регистрируем принтер в демоне ccpd и обеспечиваем его запуск при старте системы:
# /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usb/lp0
# service ccpd start
# ln -s /etc/init.d/ccpd /etc/rc5.d/S99ccpd
Теперь можно запустить графическую утилиту system-config-printer для проверки прочих параметров, тестовой печати, удаления некорректных предыдущих инсталляций. В частности, следует удалить авто определенный принтер с тем же (или схожим именем), но в качестве URI ссылающегося на usb:// устройство (правильный принтер ссылается на ccp:// устройство).
Взаимодействие с SELinux
Переводим SELinux в режим разрешающий (Permissive):
# setenforce 0
Запускаем документ на печать. В /var/log/audit/audit.log (при работающем audit демоне, иначе в /var/log/messages) появляются сообщения о SELinux запретах (denials). Создаём для них модули согласно Создаем собственное правило SELinux на базе аудит сообщения. Как минимум нужны два пакета - для разрешения gs execmem и ccpd write.
И возращаем SELinux в режим запретов (Enforcing):
# setenforce 1
Общий доступ к принтеру
Для возможности печати на наш принтер по сети с других рабочих станций, следует настроить CUPS и межсетевой экран.
Запускаем system-config-printer (System->Administration->Printing, Печать, Tipărire), в нем меню Server->Settings... Включаем "Publish shared printers connected to this system", "Allow printing from the Internet". Не лишне проверить стоит ли флаг "Общий доступ" в свойствах нашего принтера.
Fişier:system-config-printer_basic_settings.png
Запускаем system-config-firewall (System->Administration->Firewall, Межсетевой экран, Paravan de protecție), и включаем доступ к IPP службам:
Fişier:system-config-firewall_ipp_enable.png
После нажатия Apply можно печатать.
Для MS Windows клиентских систем, устанавливаем новый сетевой принтер по адресу http://192.168.xx.xx:631/printers/LBP1120 (подставив правильный IP адрес или сетевое имя нашего принт-сервера) и выбираем драйвер вручную из категории "Generic" - "MS Publisher Imagesetter"
Полезные советы
Драйвер не идеален, и не очень хорошо обрабатывает ошибочные ситуации. Поэтому:
- всегда подключайте принтер исправным USB-кабелем, обеспечивающем надёжное соединение.
- включайте принтер до запуска системы.
Для проверки состояния принтера удобно использовать графическую утилиту captstatusui. Запускается она командой:
$ captstatusui -P LBP1120
где LBP1120 - имя принтера зарегистрированного в подсистеме печати.