Как печатать с Arch Linux через Wi-Fi на Canon MG6450?

Вопрос или проблема

У меня есть Canon MG6450 с включенным Wi-Fi и актуальная установка Arch Linux с cnijfilter-mg4200 3.80-1 установлен. Я вижу принтер в диалогах печати (иногда требуется некоторое время, чтобы он появился, предположительно из-за автоматического обнаружения), я могу выбрать его, и не получаю сообщений об ошибках при нажатии ОК. Однако принтер совершенно не реагирует на это, как кажется.

Я также пробовал подключиться через USB. Затем принтер не был автоматически обнаружен в диалоге печати, но был обнаружен с помощью system-config-printer, и я смог настроить и печатать без проблем. Однако было бы очень приятно иметь возможность печатать по беспроводной сети.


Похоже, что некоторые фатальные ошибки печати не отображаются ни в диалоге печати, ни в system-config-printer. Оба просто сообщают о состоянии принтера как “Бездействие – рендеринг завершен”. Однако, после перехода на веб-интерфейс CUPS и нажатия на принтер я наконец получил подсказку – после каждой задачи печати появляется следующее сообщение:

“Версия PPD (5.2.11) не совместима с Gutenprint 5.2.12. Пожалуйста, запустите команду `/usr/bin/cups-genppdupdate’ как администратор.”

Хорошо тогда:

$ sudo /usr/bin/cups-genppdupdate
/etc/cups/ppd/Canon-PIXMA-MG6450.ppd: нет допустимого кандидата для замены. Пропуск
/etc/cups/ppd/Canon-PIXMA-MG6450.ppd: пожалуйста, обновите этот PPD вручную
Невозможно получить файл PPD для /etc/cups/ppd/Canon-PIXMA-MG6450.ppd!
Не удалось обновить файлы PPD

Теперь я ищу, если где-нибудь есть совместимый PPD. На сайте Canon IJ Printer Driver Ver. 4.00 для Linux содержит файлы PPD для MG6400 и MG6500. Я пробовал файл для MG6400, очистил очередь принтера и попробовал распечатать тестовую страницу. Теперь веб-интерфейс CUPS не выдает ошибок, но system-config-printer сообщает:

Файл “/usr/lib/cups/filter/pstocanonij” не доступен: нет такого файла или каталога

Похоже, что этот файл доступен из cnijfilter-common, который в настоящее время невозможно собрать. Следуя инструкциям от c.gerhorst, я установил пакет, но теперь диалог принтера жалуется, что /usr/lib/cups/filter/cmdtocanonij отсутствует.


Есть именно /usr/lib/cups/filter/commandtocanon. Я попробовал заменить cmdtocanonij на commandtocanon в /etc/cups/ppd/Canon-PIXMA-MG6450.ppd и запустить sudo systemctl daemon-reload и sudo systemctl restart org.cups.cupsd.service. Теперь я не получаю ошибок нигде, но задания на печать просто исчезают полностью. Принтер не показывает никаких признаков их получения, а веб-интерфейс CUPS показывает, что новые задания сначала “обрабатываются”, затем “завершены”, без какого-либо указания, что что-то исчезает в черной дыре.

Поддерживает ли этот конкретный принтер IPP с AirPrint? Если да, вы, возможно, сможете использовать печать “без драйверов” (хотя это, возможно, не будет поддерживать все функции, доступные с Gutenprint).

1. Проверьте поддержку IPP:

Просто выполните

ippfind

Если вы получите ответ, то IPP поддерживается, и он сообщит вам IPP-URI для обращения к принтеру.

2. Установите очередь печати:

Теперь выполните

lpadmin -p my_brother -v $IPP_URI -E -m everywhere

флаг -m everywhere будет напрямую запрашивать принтер о всех функциях печати IPP, которые он поддерживает, и автоматически генерировать PPD для этого принтера, чтобы использовать его всеми «устаревшими» приложениями, которые еще не знают о IPP. Таким образом, все клиенты печати смогут использовать очередь CUPS, как они привыкли раньше…


(Я не знаком с Arch Linux — я только знаю, что его сторонники гордятся его способностью запускать “новейшее и самое лучшее” в мире программного обеспечения. Поэтому я считаю, что могу предположить довольно свежую версию CUPS для вас, которая необходима для вышеуказанного — теперь, когда это 2018 год и три года спустя после того, как вы задали свой вопрос…)

У меня сработало следующее:

  1. Настройте разрешение имени .local с Avahi:

  2. Перезапустите cups.service

  3. Остановите systemd-resolved

Шаг 3 очень важен. Это теперь отражено также в вики Arch.

.

Ответ или решение

Для решения проблемы печати с Arch Linux на принтер Canon MG6450 через Wi-Fi необходимо осуществить несколько шагов, которые требуют детального разбора и настройки. Проблема, описанная пользователем, связана с несовместимостью и отсутствием необходимых драйверов и фильтров, а также с возможными конфликтами в конфигурации CUPS. Рассмотрим более подробно процесс настройки печати.

Теория

Основной проблемой является отсутствие совместимости между текущей версией PPD-файла и Gutenprint, а также недостатком нужных фильтров для обработки заданий на печать. CUPS (Common Unix Printing System) — это система, которая позволяет Unix-подобным операционным системам выполнять задания на печать. Для работы CUPS требуется правильная конфигурация драйверов и фильтров, которые отвечают за преобразование данных в формат, понятный принтеру.

Для использования беспроводной печати необходимо удостовериться в поддержке IPP (Internet Printing Protocol) принтером, так как это позволяет использовать возможности бездрайверной печати, что может упростить процесс настройки.

Пример

Сначала нужно проверить, поддерживает ли ваш принтер протокол IPP и AirPrint. Для этого выполните команду:

ippfind

Если устройство поддерживает IPP, то команда выдаст IPP-URI устройства, что подтвердит возможность использования driverless печати.

Следующее действие — установка печатной очереди с использованием найденного IPP-URI. Выполните команду:

lpadmin -p canon_mg6450 -v $IPP_URI -E -m everywhere

Флаг -m everywhere указывает системе на использование универсального метода, который сам запрашивает принтер для получения информации о доступных возможностях и автогенерации PPD-файла. Это позволяет использовать возможности IPP, если у вас установлена последняя версия CUPS.

Применение

  1. Настройка резолвинга .local через Avahi: Для этого установите и настройте Avahi, следуя документации Arch Linux. Это обеспечит корректное разрешение имен устройств, подключенных по сети.

    sudo pacman -S avahi
    sudo systemctl enable avahi-daemon.service
    sudo systemctl start avahi-daemon.service
  2. Перезапуск службы CUPS: Обновите конфигурацию и состояние демона CUPS:

    sudo systemctl restart cups.service
  3. Остановка systemd-resolved: Этот шаг критически важен для устранения конфликтов имен в локальной сети. Остановка этой службы позволит Avahi корректно обрабатывать .local домены.

    sudo systemctl stop systemd-resolved

После выполнения этих шагов, попробуйте вновь добавить принтер через CUPS веб-интерфейс или командную строку и протестируйте возможность отправки заданий на печать.

Если же данные действия не приведут к желаемому результату, стоит рассмотреть вариант загрузки и установки альтернативных драйверов и фильтров, таких как cnijfilter или gutenprint, которые некоторым образом могут улучшить совместимость. Проверьте наличие более свежих версий драйверов на официальном сайте производителя или через другие авторитетные источники в сообществе Arch Linux.

В случае продолжения возникновения проблем, можно обратиться за помощью на форумы Arch Linux или подобные ресурсы, где пользователи могли столкнуться с аналогичными проблемами и могли бы поделиться собственными решениями.

Таким образом, можно достичь успешной настройки беспроводной печати на Canon MG6450 из Arch Linux путем тщательной проверки совместимости и правильной конфигурации доступных системных ресурсов.

Оцените материал
Добавить комментарий

Капча загружается...