Astra Linux пишет Filter failed при печати: как найти причину в CUPS и не гадать наугад

Автор: | 18.09.2026

Сообщение Filter failed в Astra Linux обычно появляется в тот момент, когда пользователь уже отправил документ на печать, а принтер молчит, как будто ничего не произошло. В CUPS это не редкость: задача уходит в очередь, система пытается обработать файл через фильтры, а на одном из шагов что-то ломается. Хорошая новость в том, что причина почти всегда находится довольно быстро, если смотреть не на саму надпись, а на цепочку обработки задания.

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

Что означает Filter failed в CUPS

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

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

На практике чаще всего виноваты PPD-файл, неподходящий драйвер, битый PDF, проблемы с Ghostscript, неверные права на временные файлы или несовместимость старого принтера с выбранным способом печати. Иногда причина вообще прячется в отдельном плагине или фильтре, который не может запуститься из-за зависимости, отсутствующей в системе.

«Когда CUPS пишет Filter failed, он не объясняет причину напрямую. Нужен не догадочный, а журнальный подход: сначала логи, потом выводы».

С чего начать проверку в Astra Linux

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

В Astra Linux служба CUPS ведет журнал в стандартных системных файлах, а при повышенном уровне отладки пишет еще подробнее. Если в логах видна строка с завершением задания через stopped with status 1 или failed, важно посмотреть несколько строк выше и ниже. Именно там обычно находится настоящая причина.

Параллельно стоит проверить сам файл, который отправляется на печать. Если это PDF, имеет смысл открыть его в другом просмотрщике. Если это документ из офисного пакета, полезно попробовать сохранить его в PDF и отправить уже готовый файл. Такой простой тест быстро отделяет проблему документа от проблемы принтера.

Какие журналы смотреть в первую очередь

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

Обычно работают такие команды:

  • journalctl -u cups

  • sudo tail -f /var/log/cups/error_log

  • lpstat -t

Если лог CUPS пустоват, уровень детализации можно временно поднять. Для этого в cupsd.conf включают более подробную запись, после чего служба перезапускается. Это не постоянная настройка, а инструмент для поиска причины.

«В печати почти всегда виноват не принтер как железо, а промежуточный слой между документом и устройством. CUPS как раз и есть этот слой».

Как включить подробный лог CUPS

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

Файл настроек обычно находится в /etc/cups/cupsd.conf. Там параметр LogLevel можно изменить на debug, после чего нужно перезапустить службу CUPS. После диагностики уровень лучше вернуть обратно, чтобы не забивать диск лишними записями.

Дальше печатают тот же файл еще раз и сразу смотрят error_log. Там часто видно конкретику: не найден шрифт, отказано в доступе, неверный формат, проблема с преобразованием PostScript или ошибка вызова сторонней утилиты. Иногда строка прямо указывает на имя фильтра, например pdftops или rasterto*.

Если в логе указана команда с кодом завершения 1, 2 или 127, это уже рабочая зацепка. Код 127 нередко означает, что нужная программа не найдена. Код 1 чаще связан с общей ошибкой выполнения, а код 2 бывает при некорректном использовании фильтра или битом входном файле.

Проблема может быть в драйвере, а не в самом принтере

В Astra Linux многие ошибки печати появляются после установки неподходящего PPD или старого пакета драйвера. Пользователь видит Filter failed и думает на устройство, хотя сбой происходит еще до отправки данных на принтер.

Особенно часто это заметно со старыми моделями, для которых производитель давал отдельные драйверы под Linux. Если пакет собран неаккуратно или рассчитан на другую версию системы, фильтр может ломаться на пустом месте. Тогда печать на одном и том же принтере с другого компьютера работает без проблем, а на Astra Linux нет.

Полезно проверить, какой именно драйвер назначен очереди печати. В веб-интерфейсе CUPS или через lpoptions видно, какой PPD используется. Если есть шанс, лучше временно перейти на более простой и штатный драйвер, а не на фирменный пакет с кучей внешних зависимостей.

Признаки, что дело в драйвере

Есть несколько характерных признаков. Задание падает сразу, в логе фигурирует имя специфического фильтра, а при создании новой очереди через другой PPD печать внезапно оживает. Это почти всегда говорит о проблеме в драйвере или его связке с фильтром.

Иногда помогает замена описания принтера на вариант, который использует стандартные механизмы CUPS. Если принтер поддерживает IPP Everywhere, AirPrint или просто корректно отвечает по сетевому протоколу, лучше дать системе использовать более общий путь печати. Он часто стабильнее старого фирменного драйвера.

Файл тоже способен сломать печать

Не каждый Filter failed связан с устройством или системой. Иногда сам документ не проходит через фильтр, и тогда принтер тут ни при чем. Это особенно заметно на сложных PDF с нестандартными шрифтами, графикой высокого разрешения или поврежденной структурой.

Я несколько раз сталкивался с похожей ситуацией на рабочих станциях: один и тот же принтер печатает тестовую страницу и обычные документы, но с конкретным PDF падает сразу. Открываешь файл, пересохраняешь его из просмотрщика или экспортируешь заново из редактора, и проблема исчезает. В журнале при этом раньше было что-то вроде ошибки обработки страниц или невозможности прочитать объект внутри PDF.

Стоит отдельно проверить, печатается ли другой файл. Если да, круг поиска сразу сужается. Если нет, значит причина не в документе, а в очереди, фильтре или системе преобразования.

Что проверять На что указывает
Печать другого PDF Проблема в конкретном файле
Печать тестовой страницы Проблема в очереди, драйвере или CUPS
Печать на другом принтере Сбой в настройках устройства или его PPD
Сохранение файла заново Повреждение документа или несовместимый формат

Что делать с фильтрами и зависимостями

Если в логе появляется имя фильтра, дальше стоит проверить, существует ли соответствующий пакет и может ли он запуститься. В Astra Linux для печати часто задействованы Ghostscript, libcupsfilters, cups-filters и связанные с ними библиотеки. Отсутствие одной из зависимостей быстро превращает рабочую очередь в бесполезную.

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

Если фильтр падает на этапе преобразования PDF в растровое изображение, внимание стоит обратить на Ghostscript. Для проверки можно попробовать другой формат, например отправить на печать текстовый файл или простой документ без сложной графики. Если они печатаются, а PDF нет, круг подозреваемых становится заметно уже.

Несколько полезных проверок

Сначала посмотрите очередь через lpstat -o. Если задание зависло, попробуйте отменить его и отправить новое, уже после очистки очереди. Иногда старый сбой мешает следующим задачам.

Затем перезапустите CUPS и проверьте, не остались ли в /var/spool/cups временные файлы старых заданий. В редких случаях поврежденный спул блокирует печать до очистки. После этого отправьте тестовую страницу из веб-интерфейса CUPS. Она поможет понять, работает ли путь от службы до устройства.

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

Когда помогает замена очереди печати

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

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

Если принтер поддерживает современные протоколы печати, стоит попробовать подключение через стандартный механизм CUPS без лишних оболочек и фирменных плагинов. Чем меньше промежуточных звеньев, тем меньше шансов поймать неизвестную ошибку фильтра.

Как собрать причину в понятную картину

У Filter failed есть одна неприятная особенность: само сообщение одинаковое, а причины у него разные. Поэтому удобнее идти не от ошибки к догадке, а от симптомов к источнику сбоя. Сначала лог, потом фильтр, затем PPD, файл и только после этого устройство.

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

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

Когда в Astra Linux снова появляется Filter failed, не стоит воспринимать сообщение как тупик. Это всего лишь сигнал, что один из этапов печати не прошел проверку. Логи CUPS, тест другого файла, замена PPD и проверка зависимостей обычно быстро выводят на настоящую причину. А уже после этого становится понятно, что чинить: документ, драйвер, фильтр или саму очередь печати.