BrokenPipeError — задания не передаются из CUPS в ПМ (Linux)
title: BrokenPipeError — задания не передаются из CUPS в ПринтМенеджер (Linux) slug: ts-brokenpipe-klient-pm-linux tags: [BrokenPipeError, клиент ПМ, Linux, CUPS, Astra, задания] domain: Troubleshooting type: Troubleshooting audience: partner-engineer product_versions: "4.x" status: ready related_components: [Клиент ПМ, CUPS, ПринтМенеджер] related_pages:
- kak-ustanovit-klient-pm-na-linux
- kak-diagnostirovat-problemy-pechati-po-etapam-puti-zadaniya
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 journalctl -u printum-printmanager-client.service --since "1 hour ago" | grep -i "broken\|error\|pipe"
Зафиксировать полный текст ошибки — строки до и после BrokenPipeError.
Шаг 2. Проверить версию ОС:
cat /etc/os-release
Шаг 3. Проверить наличие конкурирующих сервисов печати:
systemctl list-units | grep -i "print\|cups\|spool"
Если есть активные сервисы кроме cups и printum-printmanager-client — вероятен конфликт.
Шаг 4. Проверить доступность CUPS:
lpstat -r
Норма: scheduler is running.
Решение
Переустановка клиента ПМ (первый шаг)
Переустановка не меняет настройки — settings.yml сохраняется.
# Остановить службу
sudo systemctl stop printum-printmanager-client.service
# Переустановить по инструкции из Руководства администратора
# (ссылку на дистрибутив запросить в ТП)
# Проверить статус после установки
sudo systemctl status printum-printmanager-client.service
Конфликт с другим ПО управления печатью
Деактивировать конкурирующий сервис:
sudo systemctl stop <имя_сервиса>
sudo systemctl disable <имя_сервиса>
После этого перезапустить клиент ПМ и проверить передачу заданий.
После обновления ОС
Переустановка клиента ПМ с актуальным дистрибутивом решает проблему несовместимости. Если не помогло — эскалировать в ТП с логами и версией ОС.
Как проверить результат
sudo journalctl -u printum-printmanager-client.service --since "5 minutes ago"
Ошибок BrokenPipeError нет. Отправить тестовое задание — оно должно появиться в очереди ПринтМенеджер.
Когда эскалировать
- Переустановка не помогла.
- ОС обновлялась перед появлением проблемы.
- Конкурирующих сервисов нет, но ошибка сохраняется.
Приложить к заявке: вывод journalctl с ошибкой, версию ОС (cat /etc/os-release), версию клиента ПМ, версию ПринтМенеджер.