Я скачал драйвер Linux CAPT V2.60 от Canon и установил оба пакета .deb, которые были перечислены в 64-битной папке вместе с Ubuntu Software-Center. Мой принтер Canon по-прежнему не распознается. Есть ли что-нибудь еще, что я должен сделать? Мой принтер подключен через USB.
Ubuntu станет отличной заменой моему офису, но, к сожалению, без поддержки принтера я все равно буду полагаться на Windows.
Ответы:
Драйвер принтера Canon CAPT является закрытым исходным кодом, а двоичные библиотеки, поставляемые компанией Canon, скомпилированы для i386. Поэтому, если вы используете amd64, вам сначала нужно включить multiarch и установить несколько библиотек:
Установите чашки, если у вас их еще нет:
Загрузите и распакуйте драйвер принтера Canon CAPT:
Установите 32-битный или 64-битный драйвер в зависимости от вашей архитектуры:
32-битный
64-битный
Теперь найдите
/usr/share/cups/model
ppd-файлы, которые описывают принтеры, и выберите тот, который соответствует (или ближе всего) к вашему принтеру:В этом случае мы выбрали,
CNCUPSLBP6018CAPTS.ppd
какая модель соответствует модели LBP6000.Добавить принтер:
И настройте свою систему для автоматического запуска демона Canon ccpd:
Проблемы
Есть несколько проблем с драйвером принтера Canon:
Он был построен для Debian, и последняя поддерживаемая версия Ubuntu была 12.04. Это работает в 14.04, хотя.
Он включает в себя двоичные библиотеки с закрытым исходным кодом, которые созданы для 32-разрядной версии i386, поэтому его нельзя запускать на amd64 (даже в 64-разрядной версии).
captstatusui включает в себя неограниченный вызов
strcpy
в cnsktmodule.c, который завершается ошибкойaborted *** buffer overflow detected ***
в некоторых системахДрайвер принтера Canon на самом деле является отдельным демоном, который общается с чашками через локальный или сетевой сокет - он оставляет открытый сетевой порт в вашей системе, и я сомневаюсь, что код Canon когда-либо проверялся на наличие уязвимостей безопасности
Принтер может отображаться дважды в чашках (один раз для автоматически определяемого USB-принтера, один раз как демон Canon CCPD), но принтер «USB» не будет работать, если вы попытаетесь выполнить печать на нем. В настройках принтера, если вы видите, что ваш принтер настроен как USB-принтер, вы должны вручную отключить его (щелкните правой кнопкой мыши, отключите)
Canon использует свое собственное программное обеспечение и протокол для общения с принтером, поэтому он не интегрирован с чашками, не распознается автоматически и требует установки драйвера вручную. Разумно ожидать, что принтер должен автоматически обнаруживаться и просто работать, но это невозможно с Canon LBP. Моим следующим принтером будет принтер, который «просто работает» с драйверами с открытым исходным кодом, возможно, сетевой принтер, поддерживающий стандарт PCL - Printer Command Language , например Brother HL-2250DN (дешевый дуплексный сетевой принтер, ранее самый продаваемый лазерный принтер Amazon). или принтер , рекомендованный HP Linux, который работает с программным обеспечением HPLIP с открытым исходным кодом.
Скрипты сборки для исходного кода старые и немного беспорядочные. Из-за включения бинарных библиотек i386 с закрытым исходным кодом и отсутствия поддержки multiarch в сценариях сборки было бы очень сложно скомпилировать полностью работающую 64-битную версию. Компиляция 32-разрядной версии в 32-разрядной системе возможна после того, как вы исправите различные ошибки в системе сборки.
Проблема: ccpd зависает
Иногда ccpd зависает, и очередь просто говорит "Обрабатывается с ..."
Попробуйте ручной перезапуск:
Проблема: ccpd не работает - после запуска системы работает только один процесс ccpd
Для нормальной работы в системе должны быть запущены два процесса ccpd. Демон ccpd зависит от запуска демона cups перед ответом на второй процесс. Вы можете использовать следующий метод для решения проблемы:
Включите сценарий инициализации cups (по умолчанию update-rc.d cups).
Дайте команду сценарию инициализации ccpd запускаться после инициализации cups (update-rc.d ccpd по умолчанию 99) или добавьте «sleep 10 && /etc/init.d/ccpd start» в сценарии /etc/rc.local.
Если вы хотите использовать правила UDEV и сценарий запуска, имейте в виду, что правила UDEV выполняются до сценария инициализации CUPS, поэтому может быть полезно перезапустить сценарий инициализации ccpd, а не просто запустить. Например, вы можете поместить следующую строку в «/etc/rc.local»:
сон 10 && /etc/init.d/ccpd restart
(Решение от Ubuntu Wiki )
Сообщение об ошибках и проблемах в службу поддержки Canon
У Canon есть официальный адрес электронной почты для сообщения о любых ошибках и проблемах с драйвером:
Сборка из источника
Если вы испытываете желание попробовать собрать и установить из исходного кода, следуйте этим инструкциям ( скрипт сборки Arch также может помочь):
Я включаю это просто как примечание для тех, кто склонен идти по этому пути. Большинство людей не должны пытаться построить это из источника. Даже в системе amd64 полученный пакет будет включать закрытые библиотеки i386.
источник
hp-setup
), которое будет загружать и настраивать его.libstdc++6:i386 libxml2:i386 zlib1g:i386
требовалось? В инструкции упоминалосьia32-libs
, чего с тех пор не было в более поздних версиях Ubuntu, поэтому я удивился, что за замена.file canon/libcapt.so
его, он определит библиотеки Canon как «32-битные ELF», поэтому мы знаем, что для этого нужны 32-битные динамические библиотеки. Запустите ldd следующим образомldd canon/libcapt.so
- компоновщик распечатает все необходимые динамические библиотеки и покажет те, которые не найдены. Затем вы можетеapt-file search libpthread.so
найти пакет, в котором находятся библиотеки.