Собственно, решил я докапаться до истины и заставить работать свой принтер Canon LBP 1120 под Manjaro. Посли нескольких часов (боли), готов предстваить последовательность действий.
- Устанавливаем yaourt, если у вас его ещё нет. В противном случае, попускаете этот пункт.
sudo pacman -S --needed base-devel git wget yajl
cd /tmp
git clone https://aur.archlinux.org/package-query.git
cd package-query/
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt/
makepkg -si
cd ..
sudo rm -dR yaourt/ package-query/
- Выкачиваем драйвер CAPT. Но прежде чем скачивать, убедитесь, что ваш принтер есть в сипске на данном сайте:
CanonCaptDrv190 - Community Help Wiki
yaourt -S capt-src
- Перезапускаем службу CUPS:
sudo systemctl start cups
- Регистрируем принтер в системе:
sudo lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp://localhost:59787 -E
sudo ccpdadmin -p LBP1120 -o /dev/usb/lp0
Вместо LBP1120 напишите своё наазвание принтера, а название .ppd файла ищите в соответсвующей таблице. Ссылка в первом пункте.
- Запускаем службу ccpd:
sudo systemctl start ccpd
- Добавляем службу ccpd в автозагрузку:
sudo systemctl enable ccpd
- Заходим в файловый менеджер и переходим в папке /dev/usb. Там должен валяться файлик lp[Номер]. Например, у меня был файл с названием lp1. Запоминаем цифру и идём обратно в терминал.
udevadm info -a -p $(udevadm info -q path -n /dev/usb/lp[Номер])
В списке находим строчку:
ATTRS{product}==“Canon CAPT USB Device”
Чуть ниже будет строчка:
ATTRS{serial}=="[Значение]"
Записываем куда-нибудь это значение и идём к следующему пункту.
- Прописываем правило udev.
sudo nano /etc/udev/rules.d/99-printer.rules
- Вставляем в фалик следующее:
SUBSYSTEMS=="usb", ATTRS{serial}=="[Значение]", SYMLINK+="canonLBP"
- Перезапускаем сервис udev:
sudo systemctl restart systemd-udevd.service
- Выключаем и заново включаем принтер. Проверяем правило:
ls -al /dev/canonLBP
Если Вы всё сделали правильно, то увидите примерно это:
lrwxrwxrwx 1 root root 13 января 27 15:18 /dev/canonLBP -> usb/lp1 (вместо lp1 может быть любая цифра)
- Обновляем ccpdadmin в соответствии с вашим принтером.
sudo ccpdadmin -p LBP1120 -o /dev/canonLBP
- добавить своего пользователя в группу lp:
sudo gpasswd -a [имя пользователя] lp
- Перезапускаем ПК и нслаждаемся.
Примечание.
-
Если после перезапуска система пытается определить ваш принтер как новый, то это нормально. А вот, если созданный нами принтер отказывается печатать, то это может значить, что либо в пункте 3 нужно было указать ccp://localhost:59687, либо вы напортачили с lp. Попробуйте удалить ваш принтер и проделать всё заново, начиная с пункта 2. В пункте 3 попробуйте указать уже извеснтый вам lp, вместо lp0.
-
В комплекте с драйвером поставляется графическая утилита captstatusui при помощи которой можно отслеживать состояние принтера. Использовать её можно следующим образом:
captstatusui -P <название_вашего_принтера>
Если добавить параметр -e, то утилита даст о себе знатьтолько при наличии ошибки. Например:
captstatusui -e -P LBP1120
Для вашего удобства, вы можете добавить эту утилиту в автозагрузку. Но на каждом графическом окружение это делается по разному. Поэтому Google вам в помощь. После добавления перезагрузите ПК.
- После обновления драйвера CAPT ваш принтер “слетит” и прийдётся всё делать заного. И вот это уже никак не исправить. Кроме того, некоторые действия могут измениться, поэтому данное руководство действительно на 13.01.21. Версия пакета capt-scr: 2.71-3.