Skip to main content

BrokenPipeError — задания не передаются из CUPS в ПМ (Linux)

Симптомы

    Пользователь отправил задание на печать — в CUPS на АРМ статус Job completed. В очереди ПринтМенеджер и на МФУ задания нет. Служба клиента ПМ запущена active (running). В логах клиента ПМ:
    BrokenPipeError: [Errno 32] Broken pipe
    

    Причина

    Клиент ПМ считывает задание из CUPS, но соединение обрывается до того, как задание передано в ПринтМенеджер. Типичные причины:

      Несовместимость ОС — после обновления Astra Linux (например, 1.7.7 → 1.7.9) изменилась версия Python или системных библиотек, с которыми работает клиент. Конфликт с CUPS — на АРМ установлен конкурирующий сервис печати (PrintXpert, SafeQ и др.). Ошибка конфигурации CUPS — в CUPS на АРМ присутствуют параметры, запрещающие отправку заданий или добавление принтеров.

      Диагностика

      Шаг 1. Проверить логи клиента ПМ:

      sudo cat /var/log/printum/printmanager-client | grep -i "broken\|error\|pipe"
      

      Зафиксировать полный текст ошибки — строки до и после BrokenPipeError.

      Шаг 2. Проверить версию ОС:

      cat /etc/os-release
      

      Шаг 3. Проверить наличие конкурирующих сервисов печати:

      systemctl list-units | grep -i "print\|cups\|spool"
      

      Если есть активные сервисы кроме cupsd и printum-printmanager-client — вероятен конфликт.

      Шаг 4. Проверить доступность CUPS:

      lpstat -r
      

      Норма: scheduler is running.


      Решение

      Переустановка клиента ПМ (первый шаг)

      Переустановка не меняет настройки — settings.yml сохраняется.

      Шаг 1. Остановить службу

      sudo systemctl stop printum-printmanager-client.service
      

      Шаг 2. Переустановить по инструкции из разделов Удаление клиента ПМ на Linux и Клиент ПМ на Linux — установка и проверка 
      Шаг 3. Проверить статус после установки

      sudo systemctl status printum-printmanager-client.service
      

      Конфликт с другим ПО управления печатью

      Деактивировать конкурирующий сервис:

      sudo systemctl stop <имя_сервиса>
      sudo systemctl disable <имя_сервиса>
      

      После этого перезапустить клиент ПМ и проверить передачу заданий.

      После обновления ОС

      Переустановка клиента ПМ с актуальным дистрибутивом решает проблему несовместимости. Если не помогло — эскалировать в ТП с логами и версией ОС.


      Как проверить результат

      sudo tail /var/log/printum/printmanager-client.log -f
      

      Ошибок BrokenPipeError нет. Отправить тестовое задание — оно должно появиться в очереди ПринтМенеджер.


      Когда эскалировать

        Переустановка не помогла. ОС обновлялась перед появлением проблемы. Конкурирующих сервисов нет, но ошибка сохраняется.

        Приложить к заявке: файл логов Клиента ПМ с ошибкой, версию ОС (cat /etc/os-release), версию клиента ПМ, версию ПринтМенеджер.


        Связанные страницы

          Клиент ПМ на Linux — установка и проверка Клиент ПМ перестал работать после обновления Astra Linux Как диагностировать проблемы печати по этапам пути задания