не приходит в голову формулировка поискового запроса
Правила udev
сами-то пробовали? я - пробовал.
На местном форме такого рода ценные рекомендации часто встречаются, а реально полезная инормация находится ы других местах, например,
http://rus-linux.net/lib.php?name=MyLDP/sys-conf/udev.html. Но для узкой, маленькой задачки слишком много букв. Но есть и примеры -
USB принтер
Я подключил принтер, и ему была назначена нода устройства /dev/lp0. Не удовлетворенный таким пресным именем, я решил использовать udevinfo помочь мне в составлении правила, которое обеспечит альтернативное имя:
# udevinfo -a -p $(udevinfo -q path -n /dev/lp0)
looking at device '/class/usb/lp0':
KERNEL=="lp0"
SUBSYSTEM=="usb"
DRIVER==""
ATTR{dev}=="180:0"
looking at parent device '/devices/pci0000:00/0000:
SUBSYSTEMS=="usb"
ATTRS{manufacturer}=="EPSON"
ATTRS{product}=="USB Printer"
ATTRS{serial}=="L7201001107062638
И я составляю вот такое правило:
SUBSYSTEM=="usb", ATTRS{serial}=="L72010011070626380", SYMLINK+="epson_680"
Пользователь решил продолжить мысль 26 Января 2013, 18:45:45:
Вследствие "подвидности" убунты, за что ее справедливо критикуют, возникают изменения в конфигурационных файлах при смене дистрибутивов. Например, по кэнону и этому гребанному ccpd. Обратите пожалуйста внимание на то, что незаметно и без лишних слов сменился конфиг /etc/ccpd.conf, где появилось
UI_Port 59787
PDATA_Port 59687
Это к вопросу о том, что "раньше писали 59687" и пр. Также в это конфиге я явным образом прописал\раскомментировал часть про свой принтер -см. архив (смотреть не как догму, а для аналогии).
Я давеча отмаялся с принтером часа 3. Но победил.
На примере ЛБП 1120, в системе несколько лазерных принтеров, периодичность включения - хаотичная.
Правило -
SUBSYSTEM=="usb", ATTRS{serial}=="0238Q8M4", ACTION=="add", SYMLINK+="Canon", RUN+="/etc/init.d/restart"
SUBSYSTEM=="usb", ATTRS{serial}=="0238Q8M4", ACTION=="remove", RUN+="/etc/init.d/ccpd stop"
Опознание принтера поставлено именно по его серийному номеру сознательно - у меня бывало и по 3 одинаковых принтера в одной машине, но стоящих в разных местах. Серийный номер установлен через (см. архивчик)
# корректируем правило: считываем идентификатор конкретного принтера и корректируем файл правила
sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp0)
gedit 10-udev-capt-lbp.rules
#sudo udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp1)
#gedit 10-udev-capt-lbp.rules
ну и до нахождения на нужном lpx искомого принтера - дальнейшая смена "х" значения не имеет.
Демон ccpd в данном случае заработал в версии от Радеску (где-то на форуме я анализировал различия между ходящими версиями этого демона), версия ccpd.conf взята от дров версии 2.4.
Всякие библиотеки доставлял до кучи, пусть будут. Свел это дело в набор скрипт и файлики, прикладываю. В скрипте restart добавлены жесткие команды на прибитие того, что бывает грузит процессор - без разбирательств жесткое прибитие. Также в скриптике наследие прошлых радикальных решений - снос\установка принтера при его выкл\вкл, может потребоваться.
Как пользоваться архивичком - главный файл - это canon ALL.sh, он, конечно, скрипт и можно его запустить. НО НЕ НУЖНО (только потому, что требуется правка файла ccpd.conf и правила - если это сделать заранее и отдельно, как у меня, то можно запустить как скрипт). Его следует открыть, одновременно открыть окно терминала и копируя построчно вставлять строку команды в терминал и смотреть на реакцию системы. Перед этим надо в терминале командой cd перейти в тот директорий, откуда все это запускается. В этот же директорий надо положить два файла драйверов версии 2.4
http://gdlp01.c-wss.com/gds/4/0900007724/12/Linux_CAPT_PrinterDriver_V240_uk_EN.tar.gz - т.е. распаковать архив и положить деб-файлы в нужный директорий.
Пользователь решил продолжить мысль 26 Января 2013, 18:59:32:
вдогонку - чтобы убить демон достаточно послать на печать что-то на формате бумаги НЕ а4. Например, пиндостанский леттер.