Вопрос или проблема
У меня есть лазерный принтер (Samsung ML-2010), который в хорошем состоянии, он работает в Windows и старых версиях Linux, но не с моей свежей установкой ArchLinux. Принтер распознается и настраивается, но не печатает, говорит о любой задаче:
отменено в
Пт 06 Июн 2014 10:15:26 PM EEST
"Фильтр не выполнен"
Вопрос — где искать, чтобы узнать больше? Логи CUPS, похоже, не содержат ничего связанного.
Для пользователей Ubuntu 14.04 (и, возможно, других версий) вы не можете добавить foomatic-filters, как предложено выше, так как они конфликтуют с версией проекта CUPS (cups-filters).
Подсказка может быть в /var/log/cups/error_log
. В моем случае вывод выглядит следующим образом
[17/Авг/2014:12:47:31 +1000] [Задача 83] JCL: 12345X@PJL
[17/Авг/2014:12:47:31 +1000] [Задача 83] <данные задачи>
[17/Авг/2014:12:47:31 +1000] [Задача 83] sh: 1: hpijs: не найден
[17/Авг/2014:12:47:31 +1000] [Задача 83] GPL Ghostscript 9.10: Не удается запустить сервер ijs "hpijs"
[17/Авг/2014:12:47:31 +1000] [Задача 83] рендерер завершился с кодом 1
[17/Авг/2014:12:47:31 +1000] [Задача 83] Возможная ошибка в командной строке рендерера или ошибка PostScript. Проверьте параметры. Код выхода Kid3: 3
Это можно решить с помощью:
sudo apt-get install hpijs-ppds printer-driver-hpijs
Не уверен, нужны ли оба, я просто выбрал все hpijs-подобные вещи в Aptitude.
На случай, если кто-либо увидит это сообщение об ошибке в 2019 году, возможная причина — несовместимость между старыми версиями cups-filters
и последними версиями ghostscript
. Обновление первых или понижение последних решает эту проблему.
Обратите внимание, что обновления для cups-filters
не были выпущены для некоторых платформ (например, Raspbian Stretch на Raspberry Pi) до середины июня 2019 года, поэтому, если это не сработало в прошлом, попробуйте снова sudo apt update && sudo apt upgrade
.
Поскольку это самый популярный запрос в Google по “debian jessie filter failed”, я собираюсь добавить то, что помогло мне.
Это для Debian Jessie и CUPS, который выдает “фильтр не выполнен”!
Виновником был пакет ghostscript
из стабильной ветки (т.е. Jessie в данном случае), который часто зависал. Я обновил пакет ghostscript
из testing.
У меня была похожая ошибка “Filter failed” с принтером HP CP1217, шаги на этой странице (https://ramblingmoose.wordpress.com/2018/04/18/debian-and-raspbian-installing-a-cups-print-server-and-a-proprietary-p1102w-print-driver-on-linux/) помогли мне, я процитирую соответствующий фрагмент:
Я выполнил в терминале: sudo hp-setup -i
Для установки плагина, на подсказки я отвечал:
- 0 (ноль) для USB-принтера
- d для загрузки – загрузка выдала ошибку “Не удалось получить ключ у сервера ключей”
- y для установки Да, чтобы принять EULA
- y, чтобы согласиться с тем, что “этот PPD-файл, похоже, правильный”
- Введите описание местоположения
- Введено через “дополнительную информацию для этого принтера”
- y, чтобы распечатать тестовую страницу
Попробуйте установить foomatic-filters
и foomatic-db-engine
из AUR.
У меня была та же проблема на Debian Jessie!
Совет Эрика Винкелса решил проблему.
Я модифицировал файл /etc/apt/sources.list
– Добавил строку: deb http://ftp.at.debian.org/debian/ sid main
Затем я выполнил шаги:
– sudo aptitude update
– sudo aptitude safe-upgrade ghostscript
– Вернул sources.list, и снова:
– sudo aptitude update
Теперь мой ghostscript версии 9.19~dfsg-3, и печать работает.
Для пользователей Raspberry Pi и, возможно, некоторых других платформ на базе Debian, которые столкнулись с этой проблемой в мае-июне 2019 года, проблема заключалась в том, что ghostscript и libgs9 были обновлены за две или три недели до того, как были доступны обновленные версии cups-browsed, cups-filters, cups-filters-core-drivers, libcupsfilters1 и libfontembed1 в репозиториях Raspbian. Запуск sudo apt update && sudo apt upgrade
снова 14 июня 2019 года или позже, надеюсь, исправит проблему.
Я только что решил проблему, очень похожую на эту. Она была вызвана весенним обновлением Debian 2019 года. Чтобы решить это, я добавил “oldstable” в свой sources.list Debian и затем смог понизить несколько пакетов. Я понизил:
- printer-driver-hpcups до 3.16.11+repack0-3
- ghostscript, ghostsctipt-x, libgs9, libgs9-common до 9.26a~dfsg-0+deb9u2
В моем случае (HP Laserjet CP1215) не хватало правильного драйвера принтера => foo2hp
Вы можете установить его с помощью: sudo apt-get install printer-driver-foo2zjs-common
Также перезапустите CUPS: sudo service cups restart
У меня есть Raspberry Pi, и в моем случае это было связано с тем, что мой rootfs был заполнен.
Проверьте, так ли это у вас, с помощью df -h
и при необходимости очистите файловую систему.
Используйте sudo ncdu -x /
, чтобы найти папку, которая поглощает все это пространство, еще раз, если это так у вас.
Я изучил эту опцию:
“Попробуйте установить foomatic-filters и foomatic-db-engine из AUR.”
Однако это вызывает удаление cups, а новая установка cups удаляет эти фильтры и заменяет их на cups-filters.
У меня есть лазерный принтер Samsung M2020 Series (Xpress SL-M2022W) и я столкнулся с “Filter failed” под Debian 12 bookworm (x86_64 amd64).
Я установил драйвер печати Samsung для Linux и настроил мой принтер через веб-интерфейс CUPS ( http://localhost:631/admin ) как модель “Samsung M2020 Series (en)” (т.е. настроил его с помощью PPD-файла /opt/samsung/printer/share/ppd/Samsung_M2020_Series.ppd
(доступен для CUPS/инфраструктуры печати ОС через созданные установщиком символьные ссылки /usr/share/cups/model/uld-samsung
и /usr/share/ppd/uld-samsung
).
Попытка печати с этой настройкой не удалась, и посещение http://localhost:631/jobs?which_jobs=all показало мне “Filter failed”.
/var/log/cups/error_log
сообщает:
...
D [18/Янв/2024:14:14:59 +0100] [Задача 3] Запущен backend /usr/lib/cups/backend/dnssd (PID 24300)
D [18/Янв/2024:14:14:59 +0100] [Задача 3] Samsung_M2020_Series: ошибка при загрузке общих библиотек: libcupsimage.so.2: не удается открыть общий файл объекта: Нет такого файла или каталога
D [18/Янв/2024:14:14:59 +0100] [Задача 3] PID 24299 (/usr/lib/cups/filter/rastertospl) остановлен с кодом 127 (Файл слишком большой)
...
Samsung_M2020_Series.ppd
является описанием принтера PostScript, использующим cups-filters (CUPS-PPD), в его конкретном случае это cups-filter под названием rastertospl
. Этот cups-filter предоставляется и устанавливается драйвером печати Samsung для Linux по адресу /opt/smfp-common/printer/bin/rastertospl
(доступен для CUPS/инфраструктуры печати ОС через созданную установщиком символьную ссылку /usr/lib/cups/filter/rastertospl
).
Cups-filter/executable от Samsung (?) rastertospl
имеет зависимости от нескольких общих библиотек, включая libcupsimage.so.2
, о которой CUPS сообщил, что она отсутствует:
ldd /opt/smfp-common/printer/bin/rastertospl
linux-vdso.so.1 (0x00007fff27197000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6c5fe79000)
libcups.so.2 => /lib/x86_64-linux-gnu/libcups.so.2 (0x00007f6c5fddc000)
libcupsimage.so.2 => /lib/x86_64-linux-gnu/libcupsimage.so.2 (0x00007f6c5fdd7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c5fbf6000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f6c5fba4000)
libavahi-common.so.3 => /lib/x86_64-linux-gnu/libavahi-common.so.3 (0x00007f6c5fb94000)
libavahi-client.so.3 => /lib/x86_64-linux-gnu/libavahi-client.so.3 (0x00007f6c5fb81000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f6c5f965000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6c5f946000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6c5f867000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6c5fe9c000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f6c5f78d000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f6c5f75e000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f6c5f758000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f6c5f74a000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f6c5f6f4000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f6c5f5c0000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f6c5f58f000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f6c5f3d7000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f6c5f3c2000)
libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f6c5f374000)
libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f6c5f32b000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f6c5f2aa000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f6c5f2a1000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6c5f290000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f6c5f1c0000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f6c5f1b4000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f6c5f1a8000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f6c5f05f000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f6c5f030000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f6c5ef74000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f6c5ef4e000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f6c5ef26000)
Использование apt-file search libcupsimage.so.2
показывает, что libcupsimage.so.2
предоставляется пакетом Debian libcupsimage2
](https://packages.debian.org/en/bookworm/libcupsimage2). После установки sudo apt install libcupsimage2
я могу успешно печатать.
Arch предоставляет libcupsimage.so.2
в пакете libcups.
Поскольку rastertospl
зависит от нескольких общих библиотек, может потребоваться установить дополнительные пакеты, пока все зависимости не будут удовлетворены.
Я решил, установив все эти пакеты:
sudo apt-get install curl gtk2-engines:i386 gtk2-engines-murrine:i386 gtk2-engines-oxygen:i386
gtk2-engines-pixbuf:i386 gtk2-engines-pixbuf gvfs:i386 gvfs-libs:i386
ibus-gtk:i386 libacl1:i386 libaio1:i386 libao4:i386 libatk1.0-0:i386
libattr1:i386 libaudio2:i386 libbz2-1.0:i386 libcaca0:i386
libcairo-gobject2:i386 libcanberra-gtk-module:i386 libcanberra-gtk0:i386
libcanberra0:i386 libcapi20-3:i386 libcurl3-gnutls libcurl3-gnutls:i386
libcurl4 libcurl4:i386 libdbus-glib-1-2:i386 libdeflate0:i386 libexif12:i386
libfluidsynth3:i386 libgail-common:i386 libgail-common libgail18
libgail18:i386 libgck-1-0:i386 libgcr-base-3-1:i386 libgd3:i386
libgdbm-compat4:i386 libgdbm6:i386 libgdk-pixbuf-2.0-0
libgdk-pixbuf-2.0-0:i386 libgdk-pixbuf2.0-common libgettextpo0:i386
libgl1-mesa-glx:i386 libgomp1:i386 libgphoto2-6:i386 libgphoto2-port12:i386
libgpm2:i386 libgtk2.0-0 libgtk2.0-0:i386 libgtk2.0-bin libibus-1.0-5:i386
libice6:i386 libieee1284-3:i386 libinstpatch-1.0-2:i386 libjbig0:i386
libjpeg-turbo8:i386 libjpeg8:i386 liblcms2-2:i386 libldap-2.5-0
libldap-2.5-0:i386 libldap-common libltdl7:i386 libmad0:i386 libmikmod3:i386
libmpg123-0:i386 libncursesw5:i386 libncursesw6:i386 libnghttp2-14
libnghttp2-14:i386 libnspr4 libnspr4:i386 libnss3 libnss3:i386 libodbc1:i386
libodbc2 libodbc2:i386 libodbccr2:i386 libodbcinst2 libodbcinst2:i386
libopenal1:i386 libopenjp2-7 libopenjp2-7:i386 libpci3:i386 libperl5.34:i386
libpoppler-cpp0v5 libpoppler-glib8 libpoppler-glib8:i386 libpoppler118
libpoppler118:i386 libpsl5:i386 libpulse-mainloop-glib0:i386
libpulse-mainloop-glib0 libpulse0 libpulse0:i386 libpulsedsp:i386
libpulsedsp libreadline8:i386 librsvg2-2:i386 librsvg2-common:i386
librtmp1:i386 libsane1:i386 libsasl2-2:i386 libsasl2-modules:i386
libsasl2-modules-db:i386 libsdl-image1.2:i386 libsdl-mixer1.2:i386
libsdl-net1.2:i386 libsdl-ttf2.0-0:i386 libsdl1.2debian:i386
libsecret-1-0:i386 libslang2:i386 libsm6:i386 libsndio7.0:i386
libsnmp40:i386 libsqlite3-0:i386 libssh-4 libssh-4:i386 libstdc++5:i386
libtdb1:i386 libtiff5 libtiff5:i386 libtinfo5:i386 libusb-1.0-0:i386
libvorbisfile3:i386 libwebp7:i386 libwrap0:i386 libxaw7:i386
libxcomposite1:i386 libxdamage1:i386 libxmu6:i386 libxpm4:i386
libxslt1.1:i386 libxt6:i386 libxtst6:i386 odbcinst odbcinst1debian2:i386
poppler-utils pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
unixodbc-common xaw3dg:i386
Ответ или решение
Решение проблемы с "Filter Failed" в CUPS на ArchLinux для принтера Samsung ML-2010
Если ваш лазерный принтер Samsung ML-2010 не печатает на новой установке ArchLinux, и вы получаете сообщение "Filter Failed", это может быть связано с несколькими проблемами, включая отсутствие нужных драйверов или конфликтующие версии библиотек. В этом руководстве мы разберем, как получить больше информации о проблеме и как её решить.
Шаги для диагностики и исправления ошибки:
-
Проверка журналов CUPS:
- Логи CUPS обычно хранятся в файле
/var/log/cups/error_log
. Используйте команду:tail -f /var/log/cups/error_log
- Обратите внимание на сообщения, начинающиеся с
[Job...]
или[Filter...]
. Они могут указать на конкретную проблему с фильтром или драйвером.
- Логи CUPS обычно хранятся в файле
-
Поиск зависимостей:
- Проблемы с отсутствующими библиотеками могут вызвать ошибку "Filter Failed". Используйте команду
ldd
для проверки зависимостей:ldd /usr/lib/cups/filter/rastertospl
- Если у вас возникли ошибки о недостающих библиотеках, установите необходимые пакеты, как показано в ваших логах.
- Проблемы с отсутствующими библиотеками могут вызвать ошибку "Filter Failed". Используйте команду
-
Установка нужных пакетов:
- Ваша проблема может быть вызвана отсутствием пакетов или фильтров. Попробуйте установить пакеты, такие как
printer-driver-hpijs
илиfoomatic-filters
. Используйте следующие команды (заменитеapt-get
наpacman
для ArchLinux):sudo pacman -S foomatic-db-engine foomatic-filters
- Ваша проблема может быть вызвана отсутствием пакетов или фильтров. Попробуйте установить пакеты, такие как
-
Перезапуск CUPS:
- После установки новых драйверов или пакетов обязательно перезапустите службу CUPS:
sudo systemctl restart org.openprinting.cups-daemon.service
- После установки новых драйверов или пакетов обязательно перезапустите службу CUPS:
-
Проблемы с Ghostscript:
- Обратите внимание, что некоторые версии Ghostscript могут быть несовместимы с CUPS. Убедитесь, что у вас установлена последняя версия Ghostscript. Если нужно, установите обновленную версию:
sudo pacman -S ghostscript
- Обратите внимание, что некоторые версии Ghostscript могут быть несовместимы с CUPS. Убедитесь, что у вас установлена последняя версия Ghostscript. Если нужно, установите обновленную версию:
-
Переустановка принтера через CUPS:
- Попробуйте удалить конфигурацию принтера в веб-интерфейсе CUPS (обычно доступном по адресу
http://localhost:631
) и заново его установить, выбрав правильный PPD файл для вашего принтера.
- Попробуйте удалить конфигурацию принтера в веб-интерфейсе CUPS (обычно доступном по адресу
-
Работа с общими библиотеками:
- В случае ошибок, связанных с отсутствующими библиотеками (например,
libcupsimage.so.2
), убедитесь, что установлен соответствующий пакет:sudo pacman -S libcups
- В случае ошибок, связанных с отсутствующими библиотеками (например,
-
Очистка системного пространства:
- Убедитесь, что на диске достаточно места. Для этого используйте команды:
df -h sudo ncdu /
- Убедитесь, что на диске достаточно места. Для этого используйте команды:
-
Проверка сетевого соединения:
- Если ваш принтер подключен по сети, убедитесь, что он доступен. Проведите тест с помощью
ping
или проверьте сетевые настройки.
- Если ваш принтер подключен по сети, убедитесь, что он доступен. Проведите тест с помощью
Заключение
Следуя приведённым шагам, вы сможете диагностировать и, надеемся, исправить проблему с печатью через CUPS на ArchLinux. Искренне надеемся, что эти рекомендации облегчат вам процесс устранения ошибки "Filter Failed". Если проблемы сохраняются, стоит обратиться к специализированным форумам ArchLinux или официальной документации, где вы можете найти дополнительную поддержку сообщества.