Установка 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
Полезные советы
Для проверки состояния принтера удобно использовать графическую утилиту captstatusui. Запускается она командой:
$ captstatusui -P LBP1120
где LBP1120 - имя принтера зарегистрированного в подсистеме печати.