Продолжаю развлекаться, без всякого удовольствия. Снова накатил систему, в этот раз вообще никак не заставить шевелиться принтеры. Задумался - в попытках найти истину я уже имею 3 версии ccpd (который кладется в /etc/init.d) :
1. комплектная от Canon - ставится вместе с дровами. Почитал - думаю, эту версию сразу выбрасывать, поскольку:
1.1. стр. 4-15 говорят о том, что его пытались примерить к разным дистрибутивам
1.2. скрипт обращается к несуществующему в Убунте (стр. 17) /usr/sbin/ccpd, где ищет также несуществующие ccpd_stop и ccpd_start (стр. 60 и далее)
2. версия от Genric
https://forum.ubuntu.ru/index.php?topic=58007.0 (
http://public.celtiore.fr/Canon/ibex/ccpd), он же
https://forum.ubuntu.ru/index.php?topic=56078.135 - многие хвалят этот скрипт.
3. Скрипт от Radu (
http://radu.cotescu.com/2010/03/20/how-to-install-canon-lbp-printers-in-ubuntu/) - многие хвалят этот скрипт. Однако, похоже, скрипт писался к версии дров 1.6-1.8, а ныне поставляется с дровами вресии 2.0, в которых, как и в п. 1, нет путей по стр. 17 - соотв. тоже не катит.
Родной Кэноновский скрипт не хвалит никто. Скрипт по п. 3 похож на п.1 - оба используются команды ccpd_start ccpd_stop и ccpd_restart, обращаясь в "никуда". Соотв. остается скрипт по п. 2.
Подход 2 и 1,3 отличаются uri устройства: 2 использует посредника: очередь fifo0. А 1 и 3 сразу обращаются к ccp://localhost:59687 (смотрим /etc/ccpd.conf). Подход 2 позволяет, в теории, иметь несколько принтеров, замыкаемых на ccpd.
Это касалось самого скрипта ccpd. А есть еще и установочные скрипты, которые реализуют пакетом комплекс действий по установке принтера в системе. Они делятся на две категории, по предыд. абзацу. Что интересно, в одной из реализаций Подхода 2 (скрипт
http://public.celtiore.fr/Canon/ibex/jaunty.sh) я отметил вариацию обращения к /usr/sbin/lpadmin:
sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
против
sudo /usr/sbin/lpadmin -p LBP1120 -P CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
полез искать:
/usr/sbin/lpadmin
Usage:
lpadmin [-h server] -d destination
lpadmin [-h server] -x destination
lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]
[-r remove-class] [-v device] [-D description]
[-P ppd-file] [-o name=value]
[-u allow:user,user] [-u deny:user,user]
Есть мнение, что при стандартном принтере и местонахождении *.ppd катит ключ -m, в ином случае следует -P. Для 1120 с именами полный бардак - в списке драйверов принтеров он аж 4 раза присутствует.
Также отмечено, что права на /var/spool/cups и /var/spool/cups/tmp принадлежат лишь root - не поменять ли? sudo chmod 777 /var/spool/cups? Также отметил, что после каждой загрузки /dev/usb/lp0 принадлежат лишь root. Соотв. sudo chmod 777 /dev/usb/lp0 надо делать после каждой загрузки или и вовсе не делать? А можно засунуть в скрипт ccpd.
и в правило udev по аналогии со сканером не воткнуть ли MODE="0664", GROUP="...."
Некоторые источники (
https://forum.ubuntu.ru/index.php?topic=56078.135) предлагают: Добавим две строчки в файл /etc/apparmor.d/usr.sbin.cupsd (от меня: добавть в секцию /usr/sbin/cupsd { ):
# needed for Canon CAPT driver ###
/var/ccpd/** rw,
затем
sudo /etc/init.d/apparmor restart
Это нужно ли? - в этом файле дают настройки доступа к /var/spool/cups, так что, похоже, нужно. А вот chmod 777 /var/spool/cups вследствие этого не нужно. Наверное.
В общем, сегодня у меня не завелось ни в какую ни под 10.10, ни под 10.04.
А ведь еще почавчера заводилось и там, и там. Правда тогда я делал один принтер, второй не прописывал и не подключал. А сейчас сразу оба. Завтра попробую в 10.10 снова поштучно.