6 подписчиков
- создаем правило для определения принтера. Для этого сперва выясняем, как определяется принтер в текущий момент: заходим в папку /dev/usb и включаем принтер. Появится новый файл /dev/usb/lp[номер].
- выясним атрибут ATTRS{serial} нашего принтера. Для этого вводим команду:
udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp[НОМЕР])
где [НОМЕР] соответствует номеру файла /dev/usb/lp[НОМЕР], который мы увидели чуть ранее. Данная команда выведет на экран несколько столбцов. У интересующего нас столбца последняя строчка: "ATTRS{product}=="Canon CAPT USB Device"". Находим и копируем в этом столбце значение: ATTRS{serial}=="[нужное значение]"
- создадим правило, которое обеспечит альтернативное имя (символическую ссылку) нашему принтеру, чтобы не зависеть от меняющихся значений lp0, lp1 и т.д. Для этого создадим файл /etc/udev/rules.d/85-canon-capt.rules со следующим содержимым (не забудьте подставить нужное значение ATTRS{serial}):
KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", ATTRS{serial}=="[нужное значение]", SYMLINK+="canon"
- обновим правила Udev:
sudo udevadm control --reload-rules
- выключаем и снова включаем принтер.
- обновим ccpadmin в соответствии с нашим правилом (не забудьте указать свою модель принтера вместо LBP6000):
sudo ccpdadmin -p LBP2900 -o /dev/canon
- снова перезапустим службу ccpd:
sudo systemctl restart ccpd
- наконец-то пробуем печатать.
Для предотвращения проблем с обновлением системы на RPM-пакетах, откроем для редактирования настройки пакетного менеджера:
sudo nano /etc/dnf/dnf.conf
В конец файла в секции [main] нужно добавить строчку:
excludepkgs=cndrvcups*
Нажимаем Ctrl+O, Enter, Ctrl+X для сохранения и выхода из редактора nano.
На этом вроде все.
З.Ы. Знаю что есть полуавтоматические способы сделать то же самое, но большая часть этих скриптом не работает по различным причинам - проверено. Поэтому Я выбрал именно ручной способ установки.
1 минута
16 декабря 2023