“cups-browsed” не нашёл подходящий принимающий узел.

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

Я использую Ubuntu 18.04.2 Desktop на своем ноутбуке.

Я установил CUPS на Raspberry Pi с операционной системой Raspbian. Мой Mac постоянно печатает на этот принтер без каких-либо проблем.

С Ubuntu Desktop я могу печатать на принтер только в течение ~1 минуты после перезагрузки Ubuntu Desktop. После этого времени документы не печатаются.

Когда я захожу на ‘localhost:631’ с Ubuntu Desktop, статус указывается как ‘Idle – “No suitable Destination Host found by cups-browsed”’ (см. вложение).

Изображения можно увидеть здесь
https://i.sstatic.net/GF2JC.jpg

Вам не нужно ничего удалять или добавлять свой принтер вручную. Просто сделайте следующее:

systemctl stop cups-browsed

systemctl start cups-browsed

или проще:

systemctl restart cups-browsed

Я сделал полную остановку и запуск, и это сработало для меня.

Мне удалось заставить мой принтер работать. Это, похоже, какой-то баг в cups-browsed, который является программой, пытающейся автоматически установить каждый принтер в сети. После удаления cups-browsed я смог вручную добавить принтер и печатать без перезагрузки.

Сначала: удалите cups-browsed

sudo apt-get purge --autoremove cups-browsed

Затем: перезагрузите компьютер

Наконец, вручную добавьте ваш принтер

  1. В Ubuntu 18.04 перейдите в настройки -> устройства -> принтеры.
  2. Кликните на ‘Дополнительные настройки принтера’.
  3. Кликните на ‘Добавить’.
  4. Под сетевыми принтерами выберите ‘Найти сетевой принтер’. Введите IP-адрес сервера, на котором работает CUPS. После того как вы пройдете шаги по установке принтера, вы сможете печатать стабильно без перезагрузки.

У меня есть похожий ответ на ответ @burnedfaceless, к которому я пришел случайно. Поскольку я не был уверен в удалении сервиса, который поставляется с системой (Pop!_OS 20.04), я выполнил команду

systemctl stop cups-browsed

Затем я вручную нашел и добавил принтер через Настройки > Принтеры > Добавить…

На этом этапе я смог нормально печатать, и только одна, вручную добавленная, версия моего принтера была видна. Чтобы проверить это дальше, я перезагрузился, ожидая, что cups-browsed запустится снова (что и произошло) и второе воплощение того же принтера появится через сервис cups-browsed (что, к счастью, не произошло). Пока все идет хорошо. Я не уверен, почему cups-browsed не добавило свою копию принтера автоматически, но рад, что этого не случилось.

Одна разница, которую я заметил после этого, заключается в том, что если я выполню команду:

lpstat -t
scheduler is running
system default destination: <short printer name>
device for <short printer name>: dnssd://<full url-encoded printer name>._ipp._tcp.local/?uuid=e...

Если я правильно помню, URI устройства было implicitclass://<printer name>, или что-то в этом роде, когда его добавило cups-browsed. Теперь это dnssd://.... Возможно, это имеет смысл для кого-то, кто лучше понимает CUPS и/или systemd, чем я.

Перезапуск и даже переустановка cups-browsed мне не помогли. Только решение назначить принтеру ثابتный IP-адрес в настройках роутера и затем добавить новый принтер вручную с адресом ips://fixed-printer-ip-address/ips и выбрать правильный драйвер.

Я долго мучился с настройкой принтера pantum BM5100ADW. Тестовая страница распечатывается, задания на печать проходят, но принтер не печатает. Перезагрузка или отключение cups-browsed не решили проблему. Только установка фиксированного IP-адреса и подключение через AppSocket помогли.
enter image description here

Это случилось и со мной. Ранее я мог печатать без проблем, используя mDNS (также известный как Avahi или Bonjour), но недавно обнаружил, что не могу печатать с ноутбука, хотя мог подключиться по SSH к CUPS серверу печати и печатать тестовую страницу без проблем, мог увидеть службу CUPS IPP на порту 631 (которую вы можете просто просмотреть в веб-браузере) и даже мог видеть, что mDNS запись транслируется правильно. Я не мог заставить cups-browsed разрешить имя хоста, когда я запускал cups-browsed -v в терминале, я видел, как он просматривает данные mDNS трансляции, но также сообщает:

Принтер ipps://<model_name> @ ._ipps._tcp.local/cups (.local, IP не определен)

В конце концов, я понял, что перенастроил /etc/nsswitch.conf, в основном вызвав это сам. Я обновил строку hosts: чтобы поставить [!UNAVAIL=return] перед записью mdns4_minimal, означая что systemd-resolved попробует /etc/hosts и обычный DNS, но остановится, прежде чем обратиться к mDNS. Я переместил [!UNAVAIL=return] после mdns4_minimal, перезапустил сетевые службы командой sudo systemctl status networking.service, и затем смог увидеть, как это разрешается mDNS правильно.

Вы не можете использовать стандартные инструменты DNS для проверки этого, но вы можете использовать avahi-browse --all или avahi-discover для просмотра того, что передается через mDNS, а затем использовать ping <hostname>.local для проверки, может ли <hostname> быть разрешено через mDNS.

У меня были похожие проблемы. Сразу после свежей установки я мог печатать без проблем, так же как и после обновления, но, в конце концов, после персонализации своей установки, сетевая печать ломалась. Печать через USB никогда не была проблемой. Оказалось, проблема была в моем VPN (Mullvad). Когда я это понял и изменил настройки в Mullvad, чтобы разрешить доступ к локальным устройствам, все заработало.

cups-browsed поставляется с семейством Ubuntu и другими дистрибутивами, потому что он делает так, что рядом находящиеся принтеры появляются ‘как по волшебству’, когда вы участвуете в сети. Некоторые сетевые принтеры не так хорошо интегрируются с методами cups-browsed, но есть альтернатива простому убийству или удалению этого сервиса путем настройки его для вашей ситуации. Вы можете использовать BrowseFilter, чтобы указать сервису, что вы хотите взять ручной контроль над определенными принтерами, и в то же время наслаждаться автоматическим поведением для других.

Чтобы удалить определенный принтер из автоматического обнаружения и контроля

sudo vi /etc/cups/cups-browsed.conf

или используйте редактор на ваш выбор, чтобы вставить запись конфигурации

BrowseFilter NOT host MyPrinterName.local

затем сохраните файл. Файл конфигурации дает вам некоторые идеи для альтернативных записей BrowseFilter, которые вы также можете прочитать в исходниках проекта. Теперь перезапустите сервис с новой конфигурацией и подождите несколько моментов.

sudo systemctl restart cups-browsed

Возможно, что старый автоматически обнаруженный принтер останется, если BrowseFilter указывает cups-browsed игнорировать устройство (которое он ранее создал) – вы можете просто удалить его.

Теперь вы можете создать устройство вручную, используя приложение настроек принтеров вашей ОС или используя ‘cups web’ на http://localhost:631/, выбирая Администрирование / Добавить принтер, где вам будут предложены локально просмотренные принтеры для установки – следование по умолчанию часто работало для меня. Мне больше нравится использовать командную строку

# Создайте новый принтер, используя протокол IPP Everywhere
lpadmin -p Name_Make_Model -E -v "ipp://MyPrinterName.local/ipp/print" -m everywhere
# Проверьте, что принтер там
lpstat -v

Это должно урегулировать проблему с данным принтером, но оставить вам возможность наслаждаться автоматическим распознаванием принтеров для других устройств и других сетей. Если вам не удалось правильно настроить строку BrowseFilter, вы можете диагностировать, ре-редактируя cups-browsed.conf для установки параметра DebugLogging file в конфигурации, перезапустив сервис, затем

cat /var/log/cups-browsed/cups-browsed.log

У меня была конкретная проблема с принтером, который не просыпался от сна в течение нескольких минут, когда он был устройством implicitclass, автоматически созданным cups-browsed. Веб-интерфейс Cups показывает ошибку принтера Processing - "No suitable destination host found by cups-browsed, retrying later" и была задержка в несколько минут, прежде чем принтер начал действовать. Однако он работал отлично, просыпался сразу, когда я создавал его вручную как устройство ipp, используя эту технику.

.

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

Ошибка "No suitable Destination Host found by cups-browsed" встречается у пользователей, работающих с системой печати CUPS (Common UNIX Printing System) на устройствах с Linux, таких как Ubuntu. Эта проблема сигнализирует о том, что cups-browsed не может найти подходящий хост для отправки заданий на печать, и обычно связана с сетевыми или конфигурационными проблемами. Давайте рассмотрим основные причины и решения для устранения этой ошибки.

Теория

CUPS и cups-browsed являются частями системы управления печатью, широко используемой на UNIX-подобных системах. CUPS обеспечивает общую инфраструктуру для управления заданиями на печать и принтерами. cups-browsed, в свою очередь, отвечает за автоматическое обнаружение и настройку сетевых принтеров, упрощая процесс для пользователя.

Когда Cups-browsed не может найти нужный хост, это может происходить из-за нескольких причин, таких как проблемы с сетевым разрешением имен (mDNS), неполная или неверная конфигурация принтера, некорректная работа cups-browsed или проблемы с сетевыми настройками у конечного устройства.

Примеры

  1. Неправильные настройки DNS или mDNS (Bonjour): Если настройки всех систем работают некорректно, cups-browsed может не в состоянии правильно определить хост, даже если принтер доступен в сети.

  2. Проблемы в конфигурациях cups-брокера: Ошибки в файлах конфигурации, такие как /etc/nsswitch.conf, могут предотвращать поиск сетевых принтеров. Также установка приложений, таких как VPN, может блокировать mDNS.

  3. Ошибочная работа cups-browsed: Интенсивное автоматическое обнаружение, инициированное cups-browsed, иногда конфликтует с уже установленными принтерами, приводя к дублированию или несоответствию.

Применение

Для решения проблемы рекомендуется выполнить следующие шаги:

  1. Перезапуск сервиса cups-browsed:
    Выполнение команд может временно решить проблему, если она вызвана временными сбоями:

    systemctl stop cups-browsed
    systemctl start cups-browsed
  2. Удаление и повторная установка:
    Если же проблема сохраняется, попробуйте удалить cups-browsed и настроить принтер вручную:

    sudo apt-get purge --autoremove cups-browsed

    Перезагрузите компьютер и добавьте принтер через настройки Ubuntu:

    • Зайдите в "Настройки" → "Устройства" → "Принтеры".
    • Нажмите "Дополнительные настройки принтера" и задайте адрес вручную.
  3. Исправление конфигурации:
    Обратите внимание на файл /etc/nsswitch.conf. Убедитесь, что mdns корректно расположен в строке hosts:.

  4. Настройка адресации принтера:
    Настройте на вашем роутере статический IP-адрес для принтера и вручную настройте его подключение, используя протокол AppSocket или IPP.

  5. Проверка VPN и сетевых настроек:
    Если ваш VPN блокирует локальные подключения, измените его настройки, чтобы разрешить доступ к локальным устройствам.

Благодаря этим шагам, возможно устранить проблему "No suitable Destination Host found by cups-browsed" и обеспечить надежную работу системы печати в Linux. Зная, как функционирует система CUPS и cups-browsed, можно избежать подобных проблем в будущем и поддерживать стабильное соединение с сетевыми принтерами.

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

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