CUPS перестает печатать через некоторое время.

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

Я перенес автоматическую систему печати с Windows с Acrobat Reader на Ubuntu с CUPS. Это заняло около 10 минут с использованием CUPS, но теперь у меня возникает странная проблема с неполной печатью, или вообще ничего не печатается через некоторое время. CUPS сообщает о казалось бы случайных ошибках. Иногда он даже не сообщает об ошибке, а большинство сообщаемых ошибок – это ошибки «сломанная труба».

Обычно после добавления принтера в CUPS печать проходит нормально в течение некоторого времени. Когда я возвращаюсь через несколько часов и пробую сделать то же самое (даже с тем же файлом), файл может вообще не напечататься или выйти из принтера с отсутствующими элементами.

Это может быть несвязанная ошибка, но также через некоторое время веб-интерфейс CUPS перестает отвечать. Все, что я могу получить после этого, – это HTTP-версия главной страницы. Перезапуск CUPS решает эту проблему.

У меня свежая установка CUPS, с включенным только удаленным администрированием. Проблема сохраняется даже после выполнения команды sudo service cups restart.

Я добавил принтеры разными способами (сокет, ldp, ipp), используя как универсальные драйверы PCL6, так и официальные драйверы KPDL принтеров. Сразу после добавления принтера печать обычно проходит как ожидается. Я печатаю, используя самый простой возможный команду: lp -d [имя-принтера] [числа].pdf.

Я использую Ubuntu Server 16.04. Принтеры, которые я настроил, это Kyocera ECOSYS FS-1370DN и Kyocera ECOSYS P2135dn. Принтеры, похоже, не являются проблемой, так как HP принтер, который я использовал, демонстрирует ту же проблему.

Я пытаюсь выяснить, что идет не так, дольше, чем мне хотелось бы признаться. И я начинаю чувствовать себя довольно глупо. Каждый раз, когда я думаю, что исправил это, плохие печати начинают появляться вскоре после этого. Acrobat Reader/диспетчер печати Windows никогда не испытывает проблем с печатью, даже когда CUPS выдает мусор.

Другие вещи, которые я пробовал без успеха:
– Конвертация в PostScript (.ps) с помощью pdf2ps перед печатью
– Конвертация в PDF с использованием GhostScript (исправление возможных ошибок PDF) перед печатью
– Печать тестовых PDF-файлов, загруженных из Интернета, о которых известно, что они хорошо печатаются ранее.

Это странная ситуация, которая не поддается никакой логике для меня: загрузка PDF-файлов через ftp (принтеры могут печатать PDF) также работает только иногда. Это полностью обходит CUPS, так что это должно быть проблема принтера, верно? Но нет, печать того же файла через Acrobat Reader работает нормально.

На данный момент единственный вариант, который я вижу, это преобразовать сервер Ubuntu в виртуальную машину с дорогой виртуальной машиной Windows Server, работающей параллельно, используемой только для печати… Должно быть решение этой проблемы.

EDIT: Я настроил CUPS на своем Ubuntu Server 16.04 дома и сконфигурировал принтер Canon MG8100 на нем. Первые несколько печатей прошли нормально. На следующее утро каждая работа, которую я добавил, показывала, что она завершена, но на самом деле ничего не вышло из принтера. Это значит, что это не связано с принтерами. Я добавил MG8100 с помощью LPD.

Журнал ошибок CUPS сообщает о следующих ошибках. Имейте в виду, что все эти ошибки возникают для одного и того же файла в разное время и что файл успешно печатался аналогичным образом ранее.

E [26/Nov/2016:13:35:44 +0100] [Job 158] Принтер не отвечает.

Когда это регистрируется, печать не выполняется, и CUPS продолжает повторно пытаться выполнить работу, пока она не будет отменена. В другие разы он завершается следующим образом:

W [29/Nov/2016:11:45:01 +0100] [Job 169] /var/spool/cups/d00169-001: файл поврежден
W [29/Nov/2016:11:45:01 +0100] [Job 169] /var/spool/cups/d00169-001 (позиция файла 35596): ссылка не найдена
W [29/Nov/2016:11:45:01 +0100] [Job 169] /var/spool/cups/d00169-001: Попытка восстановить таблицу перекрестных ссылок

Что приведет к искаженной печати (Случайные части печатаются, а другие пропускаются).

Как одна из множества попыток исправить проблему, я включил Verdana как шрифт в сгенерированные PDF-файлы вместо того, чтобы позволить Linux заменить его на Nimbus Mono L. Пока печать работает правильно уже пять дней. Я пишу этот ответ и буду рад любым предположениям или ответу на вопрос, почему это происходит.

У меня будет доступ к настройкам печати через несколько дней, где я посмотрю журналы и другие данные. Конечно, эта ситуация также может быть совпадением, и система печати может снова начать искажать печать, как только я опубликую это. Я принял этот риск.

Это также не объясняет, почему тестовые страницы не печатаются правильно. Это может быть связано с тем, что они также содержат шрифты, несовместимые с принтером, или что ошибка возникает для всего после того, как это произошло один раз. Это довольно натянуто, но на данный момент я оставляю все варианты открытыми.

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

Проблема с печатью в CUPS: Инструкция по решению

Проблема, которую вы описали, связана с отсутствием стабильности при печати через систему CUPS на сервере Ubuntu 16.04. Нештатные ситуации, такие как неполные или поврежденные копии документов, а также ошибки в CUPS, создают значительные неудобства. Рассмотрим, как можно диагностировать и устранить данную проблему.

Причины и Возможные Решения

  1. Неверные Драйверы Printer:
    Ваша попытка использовать как общие драйверы PCL6, так и драйверы KPDL может быть неэффективной. Рекомендуется протестировать другие драйвера для вашей модели принтера. Неправильный драйвер может вызывать проблемы с отображением шрифтов и общее качество печати.

    Решение: Попробуйте установить специализированные драйверы, предоставленные производителем для вашей конкретной модели принтера. Программное обеспечение может также иметь разные реализации для работы с графикой и текстом.

  2. Ошибки CUPS и Логи:
    Логи CUPS, такие как ошибки "broken pipe" и "The printer is not responding", могут указывать на проблемы в сетевой конфигурации или на время ожидания ответа от принтера. Это также может свидетельствовать о проблемах с доступом к принтеру через сеть.

    Решение: Убедитесь, что принтер доступен в сети и стабильное соединение не прерывается. Проверьте настройки файрвола и маршрутизатора, исключите возможные конфликты IP и используйте статические IP-адреса для принтеров.

  3. Проблемы с PDF файлами:
    Ошибки, связанные с обработкой PDF файлов, как "file is damaged" и "xref not found", могут указывать на то, что исходные файлы содержат нестандартные элементы или шрифты, которые некорректно обрабатываются в Linux.

    Решение: Используйте Ghostscript для преобразования PDF файлов в стандартный формат перед отправкой их на печать. Если вам известно, что конкретные шрифты приводят к ошибки, попробуйте заменить их на более совместимые.

  4. Проблемы Совместимости Шрифтов:
    Как вы отметили, использование стандартных шрифтов может привести к неполным печатьям. Включение нестандартных шрифтов, таких как Verdana, может улучшить совместимость.

    Решение: Поддерживайте библиотеку шрифтов на сервере. Убедитесь, что все используемые шрифты находятся и доступны для выбранной установки PDF. Избегайте использования шрифтов, которые могут не поддерживаться.

  5. Перезагрузка службы CUPS:
    Феномен неожиданного прекращения работы интерфейса CUPS и неполадки со временем, возможно, обусловлен недостатком ресурсов сервера.

    Решение: Убедитесь, что сервер не перегружен, и используйте инструменты мониторинга, такие как htop, чтобы управлять использованными ресурсами. Настройте автоматическую перезагрузку службы CUPS в случае сбоя, если это целесообразно.

  6. Виртуализация как альтернатива:
    В некоторых случаях является оправданным использование Windows-сервера, чтобы гарантировать стабильную работу с конкретными драйверами.

    Решение: Рассмотрите виртуализацию Windows на модулях сервера вместе с экземпляром Ubuntu, однако это более радикальное решение, которое потребует дополнительных ресурсов и лицензий.

Заключение

Устранение проблемы с печатью в CUPS на сервере Ubuntu требует системного подхода и понимания множества факторов, влияющих на совместимость и обработку данных. Не спешите с переходом на Windows-сервер, когда вы можете ухудшать ситуацию на уровне конфигурации. Проведите тестирование и логирование, чтобы выявить корневые причины неполадок; это позволит вам внедрить стабильное решение.

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

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