Skip to main content

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, но соединение обрывается до того, как задание передано в ПМ. Типичные причины:

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


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