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

Симптомы

BrokenPipeError: [Errno 32] Broken pipe

Причина

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

  1. Несовместимость ОС — после обновления Astra Linux (например, 1.7.7 → 1.7.9) изменилась версия Python или системных библиотек, с которыми работает клиент.
  2. Конфликт с CUPS — на АРМ установлен конкурирующий сервис печати (PrintXpert, SafeQ и др.).
  3. Ошибка конфигурации 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), версию клиента ПМ, версию ПринтМенеджер.


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


Revision #4
Created 2026-05-18 10:00:07 UTC by DD
Updated 2026-05-25 13:00:49 UTC by Тимур Гусев