Ошибка операции cups client error document

Состояние перевода: На этой странице представлен перевод статьи CUPS/Troubleshooting. Дата последней синхронизации: 8 января 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

В этой статье рассматриваются все неспецифические (то есть не связанные с каким-либо одним принтером) проблемы CUPS и драйверов принтеров (но не проблемы, связанные с совместным использованием принтеров), включая методы определения точной природы проблемы и решения выявленной проблемы.

Введение

Наилучший способ борьбы с неисправностями — это выставить ‘LogLevel’ в файле /etc/cups/cupsd.conf на:

LogLevel debug

А потом посмотреть вывод из файла /var/log/cups/error_log например так:

# tail -n 100 -f /var/log/cups/error_log

Символы слева от вывода означают следующее:

  • D=Debug(отладка)
  • E=Error(ошибка)
  • I=Information(информация)
  • И так далее

Следующие файлы также могут быть полезны:

  • /var/log/cups/page_log — каждый раз при успешной печати, пишет новую запись
  • /var/log/cups/access_log — записывает всю активность на cupsd http1.1 сервере

Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:

  1. Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
  2. CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
  3. GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
  4. Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд

Распечатайте документ и посмотрите error_log, чтобы получить более подробное и правильное представление об процессе печати.

Проблемы, возникающие в результате обновлений

Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ

CUPS останавливается

Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения «404 — page not found» при попытке входа в панель управления CUPS через localhost:631.

Для того, чтобы воспользоваться новым конфигом, скопируйте /etc/cups/cupsd.conf.default в /etc/cups/cupsd.conf (при необходимости сделайте резервную копию старого конфига) и, чтобы новые настройки вступили в силу, перезапустите CUPS.

Для всех заданий — «остановлено»

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Если для всех отправленных на печать заданий установился статус «остановлено» («stopped»), — удалите принтер и установите его заново. Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.

Для проверки настроек принтера перейдите во вкладку Принтеры, затем скопируйте отображаемую информацию. Далее нажмите на Администрирование. В выпадающем списке кликните Изменить принтер, перейдите к следующей странице(ам), и так далее.

Для всех заданий — «Принтер не отвечает»

Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:

lpd://BRN_020554/BINARY_P1

то имя хоста ‘BRN_020554’ должно соответствовать IP принтера, управляемого сервером CUPS. Если используется Avahi, убедитесь, что разрешение имени хоста Avahi работает.

Альтернативно, замените имя хоста, используемое в URI, IP-адресом принтера.

Версия PPD не совместима с gutenprint

Запустите:

# /usr/bin/cups-genppdupdate

И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).

Проблемы с сетью

Не удается найти принтер

Даже если CUPS обнаруживает сетевые принтеры, вы все равно можете получить ошибку «Не удается найти принтер» («Unable to locate printer») при попытке распечатать что-либо. Чтобы решить эту проблему, включите .разрешение локального имени хоста Avahi. Для получения дополнительной информации смотрите CUPS (Русский)#Сеть.

Эта проблема может возникать и при использовании файрвола (межсетевой экран, брандмауэр). Возможно, вам придется отключить его или установить корректные правила. Если вы используете system-config-printer для обнаружения сетевых принтеров, тогда он сделает все это автоматически.

Старый сервер CUPS

Начиная с версии CUPS 1.6, клиент по умолчанию использует IPP 2.0. Если сервер использует CUPS <= 1.5 / IPP <= 1.1, клиент не будет автоматически понижать версию протокола и, следовательно, не может связаться с сервером. Обходным путем является добавление опции version=1.1, описанной в Таблице 2. Опции URI IPP.

Общий принтер работает локально, но удаленный компьютер не печатает

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

Не удается найти файл PPD

/var/log/cups/error_log
Cannot connect to remote printer ipp://HP079676.local
copy_model: empty PPD file

Убедитесь, что Avahi настроен правильно. В частности, проверьте, что nss-mdns установлен и настроен в /etc/nsswitch.conf.

USB-принтеры

Конфликт с SANE

Если у вас также запущен SANE, возможно, что он конфликтует с CUPS. Чтобы исправить это, создайте правило Udev, обозначающее устройство как совпадающее с libsane:

/etc/udev/rules.d/99-printer.rules
ATTRS{idVendor}=="vendor id(код производителя)", ATTRS{idProduct}=="product id(код продукта)", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

Конфликт с usblp

Доступ к USB-принтерам можно получить двумя способами: модулем ядра usblp и libusb. Первый — это классический способ. Это просто: данные отправляются на принтер, записывая их в файл устройства в виде простого последовательного потока данных. Чтение одного и того же файла устройства позволяет использовать двунаправленный доступ, по крайней мере, для таких вещей, как считывание уровней чернил, статуса или информации о возможностях принтера (PJL). Он работает очень хорошо для простых принтеров, но для многофункциональных устройств (принтер/сканер) он не подходит, и производители, такие как HP, поставляют свои собственные бэкенды. Источник: здесь.

Важно: Начиная с cups версии 1.6.0, больше не нужно заносить в запрет загрузки модуль ядра usblp.
Если вы узнаете, что это единственный способ исправить оставшуюся проблему, сообщите об этом в баг-трекер CUPS, а также можно связаться с Till Kamppeter (сопровождающий CUPS в Debian). Для получения дополнительной информации смотрите в upstream bug.

Если у вас возникли проблемы с работой USB-принтера, вы можете попробовать запрет загрузки для модуля ядра usblp:

/etc/modprobe.d/blacklistusblp.conf
blacklist usblp

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

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

# journalctl -e

или

# dmesg

Если вы используете usblp, вывод должен указывать на то, что принтер был обнаружен следующим образом:

Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver

Если вы запретили загрузку usblp, вы увидите что-то вроде:

usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice

USB autosuspend

Ядро Linux автоматически приостанавливает USB-устройства, когда есть поддержка драйверов и устройства не используются. Это может сэкономить электроэнергию, но некоторые USB-принтеры считают, что они не подключены, когда ядро приостанавливает USB-порт, предотвращая печать. Это можно устранить, отключив autosuspend для конкретного устройства, для получения дополнительной информации смотрите Power management#USB autosuspend.

Плохие разрешения

Проверьте разрешения USB-порта принтера. Получите номер шины (BUSID) и устройства (DEVID) от lsusb:

 lsusb 
 Bus <BUSID> Device <DEVID>: ID <PRINTERID>:<VENDOR> Hewlett-Packard DeskJet D1360

Проверьте владельца, просмотрев devfs:

 # ls -l /dev/bus/usb/<BUSID>/<DEVID>

Демон cups запускается от пользователя «cups» и относится к группе «lp», поэтому либо этому пользователю, либо группе требуется доступ на чтение и запись в USB-устройство. Если вы считаете, что разрешения выглядят неправильно, вы можете временно изменить группу и разрешение:

# chgrp lp /dev/bus/usb/<BUSID>/<DEVID>
# chmod 664 /dev/bus/usb/<BUSID>/<DEVID>

Затем проверьте, может ли cups теперь видеть устройство USB правильно.

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

/etc/udev/rules.d/10-local.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="<VENDOR>", ATTRS{idProduct}=="<PRINTERID>", GROUP:="lp", MODE:="0664"

После редактирования перезагрузите правила udev этой командой:

# udevadm control --reload-rules

Каждая система может отличаться, поэтому обратитесь к вики-странице udev (Русский)#Список атрибутов устройства.

Проблемы с HP

Смотрите также CUPS/Принтероспецифичные проблемы#HP.

CUPS: «/usr/lib/cups/backend/hp failed»

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Убедитесь, что dbus установлен и запущен. Если ошибка повторяется, попробуйте запустить avahi-daemon.

Попробуйте добавить принтер в качестве сетевого принтера, используя протокол http:// .

Примечание: Там, возможно, потребуется установить права доступа.

CUPS: «Печать завершена», но принтер не печатает.

Это происходит на принтерах HP, когда вы выбираете (старый) драйвер hpijs (например, для Deskjet D1600 series). Вместо этого используйте драйвер hpcups.

Некоторые принтеры HP требуют, чтобы их прошивка загружалась с компьютера при каждом включении принтера. Вы можете столкнуться с этой проблемой, если есть проблема с udev (или аналогом), и правило загрузки прошивки никогда не запускается.
В качестве обходного пути вы можете вручную загрузить прошивку на принтер. Убедитесь, что принтер подключен и включен, затем выполните

hp-firmware -n

CUPS: ‘»foomatic-rip» not available/stopped with status 3’

Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘остановлен’ (‘stopped’), а в /var/log/cups/error_log возникает одно из следующих сообщений об ошибках:

Filter "foomatic-rip" for printer printer_name not available: No such file or director

или:

PID pid (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!

убедитесь, что hplip установлен.

CUPS: «Filter failed»

Ошибка «filter failed» может быть вызвана некоторым количеством причин. Журнал ошибок CUPS (по умолчанию /var/log/cups/error_log) должен записывать, какой фильтр не удалось загрузить и почему.

Отсутствует ghostscript

Установите ghostscript (/usr/lib/cups/filter/gstoraster нуждается в его запуске).

Отсутствует foomatic-db

Установите foomatic-db и foomatic-db-ppds. Это помогает в некоторых случаях.

Avahi не включен

Запустите и включите службу avahi-daemon.

Устаревший плагин

Эта ошибка может указывать на то, что плагин устарел (версия несовместима) и может произойти после обновления системы, возможно, появится сообщение Plugin error в журнале (логе).
Если вы установили hplip-pluginAUR, вам нужно обновить пакет, иначе перезапустите hp-setup -i, чтобы установить последнюю версию плагина.

Устаревшая конфигурация принтера

Начиная с hplip-pluginAUR версии 3.17.11 hpijs больше не доступен. Если у вас есть принтеры, использующие hpijs, они не будут печатать. Необходимо перенастроить их и выбрать вместо этого новый драйвер hpcups.

Вы можете проверить, если это ваш случай, посмотрев в error_log cups`а:

 $ grep hpijs /var/log/cups/error_log 
 ...
 D [09/Jan/2018:14:32:58 +0000] [Job 97] sh: hpijs: command not found
 ...

CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Существует ошибка, которая приводит к сбою CUPS при печати изображений на HP LaserJet (в моем случае 3380). Ошибки были зафиксированы и исправлены в Ubuntu.
Первая страница пуста, вторая страница содержит следующее сообщение об ошибке:

 ERROR:
 invalidaccess
 OFFENDING COMMAND:
 filter
 STACK:
 /SubFileDecode
 endstream
 ...

Чтобы устранить проблему, выполните следующую команду как суперпользователь (root):

# lpadmin -p printer -o pdftops-renderer-default=pdftops

HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие

Возможно, проблема связана с изменением прав доступа файла, которое было внесено в /var/lib/hp/hplip.state. Чтобы исправить проблему, достаточно простых команд chmod 644 /var/lib/hp/hplip.state и chmod 755 /var/lib/hp. Для получения дополнительной информации, пожалуйста, прочитайте эту ссылку.

hp-toolbox: «Unable to communicate with device»

# hp-toolbox
# error: Unable to communicate with device (code=12): hp:/usb/printer id

Разрешение проблемы

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Предположительно, hp-toolbox пытается получить доступ к /dev/usb/* или /dev/lp, поэтому он должен находиться в группе lp. Но почему sys? И я не могу воспроизвести это… (Discuss in Talk:CUPS (Русский)/Troubleshooting (Русский))

Может потребоваться добавить пользователя в группы lp и sys.

Виртуальный CDROM у принтеров

Это также может быть вызвано принтерами, такими как P1102, которые предоставляют виртуальный привод CD-ROM для драйверов MS Windows. Появляется lp dev, а затем исчезает. В этом случае попробуйте пакеты usb-modeswitch и usb-modeswitch-data, что позволяет отключить «Smart Drive» (правила udev, включенные в указанные пакеты).

Сетевые принтеры

Это также может происходить с сетевыми принтерами, использующими динамические имена хостов, если avahi-daemon не запущен. Другая причина заключается в том, что hp-setup не удалось найти принтер, потому что IP-адрес принтера изменился из-за DHCP. Если это так, подумайте о добавлении резервирования DHCP для принтера в конфигурации сервера DHCP.

hp-setup просит указать PPD-файл для обнаруженного принтера

Кроме того, при выборе файла PPD в графическом режиме hp-setup поле не обновляется и сообщение об ошибке не отображается.

Или, если вы используете интерактивный (консольный) режим, можно столкнуться с чем-то похожим на это даже при введении правильного пути к файлу ppd:

 Please enter the full filesystem path to the PPD file to use (q=quit) :/usr/share/ppd/HP/hp-deskjet_2050_j510_series.ppd.gz
 Traceback (most recent call last):
   File "/usr/bin/hp-setup", line 536, in <module>
     desc = nickname_pat.search(nickname).group(1)
 TypeError: cannot use a string pattern on a bytes-like object

Решение заключается в установке и запуске cups перед запуском hp-setup.

hp-setup: «Qt/PyQt 4 initialization failed»

Установите пакет python-pyqt4AUR, который дополнительно требуется (optdepend) для hplip. Альтернативно вы можете запустить hp-setup с интерфейсом командной строки с помощью флага -i.

hp-setup: находит принтер автоматически, но сразу после этого сообщает «Unable to communicate with device» при печати тестовой страницы

Это, по крайней мере, происходит с hplip 3.13.5-2 у принтера HP Officejet 6500A через локальное сетевое соединение. Чтобы решить проблему, укажите IP-адрес принтера HP для hp-setup, чтобы обнаружить принтер.

hp-setup: «KeyError: ‘family-class’»

Если при добавлении принтера в пользовательском интерфейсе он не работает, или вы получили KeyError: 'family-class' от hp-setup, возможно потребуется обновить вручную /usr/share/hplip/data/models/models.dat.

Проверьте определен ли раздел family-class=Undefined для вашего принтера. Если нет, добавьте это:

/usr/share/hplip/data/models/models.dat
[hp_laserjet_pro_mfp_m225dw]	
...
family-class=Undefined

Другие

Принтер «приостановлен — «Paused»» или «Остановлен» cо статусом «Рендеринг завершен»

Низкий уровень чернил

При низком уровне чернил некоторые принтеры зависают со статусом «Рендеринг завершен» («Rendering completed»), и, если это сетевой принтер, принтер может даже стать недоступным для CUPS, несмотря на то, что он правильно подключен к сети. Замена картриджа (картриджей) с низким уровнем чернил в этом случае вернет принтер в статус «Готов» («Ready») и, если он — сетевой принтер, то он станет снова доступным для CUPS.

Примечание: Если вы используете сторонние чернильные картриджи, то принтер может сообщать неточную информацию о уровне чернил. Если вы используете сторонние картриджи, и ваш принтер работал нормально, но теперь завис со статусом «Рендеринг завершен» («Rendering completed»), замените чернильные картриджи, независимо от уровня отображаемых чернил, перед тем, как пробовать другие решения проблемы.

Завершение печати из-за ошибок авторизации

Если удаленный принтер запрашивает аутентификацию, CUPS автоматически добавит директиву AuthInfoRequired для принтера в /etc/cups/printers.conf. Однако некоторые графические приложения (например, некоторые версии LibreOffice [1]) не имеют возможности запрашивать учетные данные, поэтому печать завершилась с ошибкой.
Чтобы исправить это, укажите требуемое имя пользователя и пароль в URI.
Для получения дополнительной информации смотрите [2], [3].

Unknown supported format: application/postscript

(Не найдена поддержка формата: application/postscript)

Закомментируйте строки:

application/octet-stream        application/vnd.cups-raw        0      -

в /etc/cups/mime.convs и:

application/octet-stream

в /etc/cups/mime.types.

Ошибка задания для печати (Print-Job) client-error-document-format-not-supported

Попробуйте установить пакет foomatic и используйте драйвер foomatic.

Не удается получить список драйверов принтера

(Также применимо к ошибке «-1 не поддерживается!»)

Попробуйте удалить драйверы Foomatic или обратитесь к CUPS/Принтероспецифичные проблемы#HPLIP для обходного пути.

lp: Error — Scheduler Not Responding

Если вы получите эту ошибку, убедитесь, что CUPS запущен, переменная окружения CUPS_SERVER не установлена и /etc/cups/client.conf корректный.

Сообщение об ошибке: «Using invalid Host»

Попробуйте добавить ServerAlias * в /etc/cups/cupsd.conf.

Не удается отправить на печать из LibreOffice

Если вы можете распечатать тестовую страницу с веб-интерфейса CUPS, но не из LibreOffice, попробуйте установить пакет a2ps.

Вывод принтера сдвинут

По-видимому, это связано с неправильным размером страницы, установленным в CUPS.

Принтер не работает (приостановлен — «Paused») после ошибки

Когда во время печати возникает ошибка, принтер в CUPS может перестать отвечать на запросы. lpq сообщает, что принтер is not ready (не готов), его можно активировать с помощью cupsenable. В веб-интерфейсе CUPS принтер отображается как приостановлен — «Paused», его можно возобновить с помощью Восстановить печать.

Чтобы CUPS автоматически активировал принтер, измените политику ошибок с стандартной настройки Останавливать принтер (stop-printer) на Повторить задание (retry-this-job).

Samsung: URF ERROR — Incomplete Session by time out

Эта ошибка обычно возникает при печати файлов по сети через IPP на принтерах Samsung и решается с помощью пакета samsung-unified-driverAUR.

Примечание: Соответствующий код ошибки 11-1112 соответствует внутренней проблеме с принтером, поэтому обращение к технической поддержке Samsung бесполезно.

Brother: Принтер печатает несколько копий

Иногда принтер печатает несколько копий документа (например, MFC-9330CDW напечатал 10 копий). Решение заключается в обновлении прошивки принтера.

Обычный пользователь не может изменять настройки принтера или удалять определенные задания

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

«Common UNIX Printing System (CUPS, общая UNIX система печати) — это кроссплатформенное решение для печати для всех UNIX систем. Оно основано на «Internet Printing Protocol» (IPP, интернет-протокол печати) и предоставляет полный спектр возможностей для печати для большинства Postscript и растровых принтеров. CUPS распространяется под GNU GPL….»

Хотя существуют другие пакеты печати, такие как LPRNG, CUPS более популярен и довольно прост в использовании. Это система печати по умолчанию как в Arch Linux, так и во многих других Linux-дистрибутивах.

Содержание

  • 1 Установка
    • 1.1 Драйверы принтеров
      • 1.1.1 Загрузка PPD для принтера
  • 2 Настройка CUPS
    • 2.1 Модули ядра
      • 2.1.1 USB-принтеры
      • 2.1.2 Принтеры с параллельным портом
      • 2.1.3 Автозагрузка
    • 2.2 Демон CUPS
    • 2.3 Web-интерфейс и средства управления
      • 2.3.1 Администрирование CUPS
      • 2.3.2 Удаленный доступ к веб-интерфейсу
  • 3 Устранение проблем
    • 3.1 Проблемы в результате обновления
      • 3.1.1 CUPS останавливается
      • 3.1.2 Для всех заданий — «остановлено» («stopped»)
      • 3.1.3 Для всех заданий — «Принтер не отвечает» («The printer is not responding»)
      • 3.1.4 Версия PPD не совместима с gutenprint
    • 3.2 USB-принтеры под CUPS 1.4.x
      • 3.2.1 Занесение в черный список usblp
      • 3.2.2 Определение устройства
        • 3.2.2.1 Устранение неполадок при определении устройств
        • 3.2.2.2 Загрузка прошивки (firmware)
    • 3.3 Остальное
      • 3.3.1 Устранение ошибок CUPS
      • 3.3.2 Принтер HPLIP выдает ошибку «/usr/lib/cups/backend/hp failed»
      • 3.3.3 Настройка HPLIP выполнена, но принтер не работает
      • 3.3.4 hp-toolbox выдает ошибку «Unable to communicate with device» («Невозможно соединиться с устройством»)
      • 3.3.5 CUPS с принтером HP возвращает ‘»foomatic-rip» not available/stopped with status 3’ (‘»foomatic-rip» не используется/остановлен со статусом 3’)
      • 3.3.6 Завершение печати из-за ошибок авторизации
      • 3.3.7 Неактивна кнопка Печать в диалогах приложений GNOME
      • 3.3.8 Не найдена поддержка формата: application/postscript
      • 3.3.9 Определение URIs для Windows Print Servers
      • 3.3.10 Ошибка задания для печати client-error-document-format-not-supported
      • 3.3.11 Не работает /usr/lib/cups/backend/hp
      • 3.3.12 Принтер Samsung не печатает некоторые документы
      • 3.3.13 Не отображается локальный USB-принтер
      • 3.3.14 «Не удается получить список драйверов для принтеров»
  • 4 Приложение
    • 4.1 Альтернативные интерфейсы CUPS
    • 4.2 Виртуальный PDF-принтер
      • 4.2.1 Печать в postscript: тонкости использования виртуального CUPS-PDF-принтера
        • 4.2.1.1 Настройка виртуального CUPS-PDF-принтера
    • 4.3 Другие источники драйверов для принтеров
  • 5 Дополнение
    • 5.1 Особые случаи
      • 5.1.1 Принтеры с параллельным портом HP (hplip)
      • 5.1.2 Печать не работает/прерывается на принтерах HP Deskjet 700
      • 5.1.3 Заставить работать HP LaserJet 1010
      • 5.1.4 Заставить работать HP LaserJet 1020 (1018 и похожие)
        • 5.1.4.1 HPLIP
      • 5.1.5 Выполнение сервисных операций на принтерах Epson
        • 5.1.5.1 Escputil
        • 5.1.5.2 Mtink
  • 6 См. также
  • 7 Источник

Установка

Вам, скорее всего, потребуются пакеты Шаблон:Pkg, Шаблон:Pkg и Шаблон:Pkg. Установить их можно из официального репозитория.

Если стандартный cups не работает, то можно попробовать установить пакет Шаблон:AURШаблон:Broken package link (Русский).

  • cups — собственно пакет CUPS
  • ghostscript — интерпретатор для языка Postscript
  • gsfonts — стандартные Type1 шрифты GhostScript
  • hpoj — при использовании HP Officejet, во избежание проблем, установите этот пакет согласно инструкциям. Для получения дополнительной информации почитайте обсуждение на launchpad/hplip

Если ваша система подключена к сетевому принтеру с использованием протокола samba, или система является сервером печати для Windows-клиентов, установите пакет Шаблон:Pkg.

Драйверы принтеров

Выбор пакета с драйверами для принтера зависит от используемого вами принтера. Если вы не уверены, установите Шаблон:Pkg.

  • Шаблон:Pkg — набор высококачественных драйверов для принтеров Canon, Epson, Lexmark, Sony, Olympus и PCL, использующихся с GhostSscript, CUPS, Foomatic и GIMP
  • Шаблон:Pkg, Шаблон:Pkg, Шаблон:Pkg и Шаблон:PkgШаблон:Broken package link (Русский) — система под управлением базы данных для интеграции открытых драйверов для принтера с обычными спулерами под Unix. Установка Шаблон:PkgШаблон:Broken package link (Русский) должна разрешить ваши проблемы, если в Шаблон:Ic от CUPS будут такие записи: «stopped with status 22!»
  • Шаблон:AURШаблон:Broken package link (Русский) — драйвер для принтеров, использующих протокол ZjStream, например таких, как HP Laserjet 1018. Смотрите дополнительную информацию здесь. Для использования Foo2zsj установите пакет Шаблон:AURШаблон:Broken package link (Русский)
  • Шаблон:Pkg — HP GNU/Linux драйвер. Обеспечивает поддержку DeskJet, OfficeJet, Photosmart, Business Inkjet и других принтеров моделей LaserJet, a также ряд принтеров Brother
  • Шаблон:Pkg — драйверы Samsung для принтеров SPL (Samsung Printer Language). Для USB принтеров, возможно, понадобится пакет Шаблон:AURШаблон:Broken package link (Русский)
  • Шаблон:AUR — универсальный драйвер для принтеров и сканеров Samsung. Неодходим, если вы используете новый принтер (например, ML-2160), для которого пока нет драйвера в Шаблон:Pkg
  • Шаблон:AURШаблон:Broken package link (Русский) или Шаблон:AUR — UFR2-драйвер для Canon, обеспечивающий поддержку принтеров серий LBP, iR и MF
  • Шаблон:Pkg — пакет, позволяющий настроить виртуальный PDF-принтер, который будет создавать PDF из всего, что на него отправят

Если вы не уверены в работоспособности драйвера вашего принтера или он не работает, возможно, стоит установить все доступные драйверы, поскольку для вашей модели принтера может подойти драйвер от другого производителя. Например, для Brother HL-2140 необходимо установить драйвер Шаблон:Pkg.

Загрузка PPD для принтера

Так как CUPS в стандартной установке уже содержит множество файлов PPD (Postscript Printer Description), в зависимости от вашего принтера этот пункт является необязательным и может быть пропущен. Более того, в пакетах Шаблон:PkgШаблон:Broken package link (Русский), Шаблон:PkgШаблон:Broken package link (Русский) и Шаблон:Pkg уже имеется большое количество файлов PPD, которые будут автоматически определены CUPS.

Вот объяснение того, что такое PPD файл, с сайта Linux Printing:

«Для каждого PostScript принтера производитель предоставляет PPD-файл, содержащий всю уникальную информацию об этой модели принтера: основные возможности принтера (цветной он или нет, шрифты, уровень PostScript и т.д.) и особенно настройки, которые может изменять пользователь, такие как размер бумаги, разрешение печати и т.д.»

Если в CUPS для вашего принтера отсутствует нужный PPD-файл, то:

  • Поищите пакеты для вашего принтера/производителя в AUR.
  • Посетите базу данных OpenPrinting и выберите своего производителя и модель принтера.
  • Поищите драйверы под GNU/Linux на сайте производителя.

Шаблон:Note (Русский)

Итак, после установки CUPS, у вас есть множество способов его настройки. Вы всегда можете использовать старую добрую командную строку. Некоторые DE, такие как GNOME и KDE, предоставляют удобные программы, которые могут вам помочь в управлении принтерами. Однако, для того чтобы сделать этот процесс максимально доступным обыкновенному пользователю, мы будем использовать web-интерфейс, предоставляемый CUPS.

Если планируется подключение не к локальному, а к сетевому принтеру, то, возможно, вначале стоит почитать о настройке общего доступа к принтерам в CUPS. Настройка общего доступа к принтерам внутри GNU/Linux довольно проста и имеет малое количество опций, а вот организация общего доступа к принтерам между Windows и GNU/Linux является немного более сложной.

Модули ядра

Перед использованием веб-интерфейса CUPS, вам понадобится загрузить соответствующие модули ядра. Далее описаны шаги, взятые из руководства по установке принтера в Gentoo.

Данный раздел может понадобиться в зависимости от используемого ядра. После подключения принтера нужный модуль ядра может быть загружен автоматически. Воспользуйтесь командой Шаблон:Ic (описана далее) для того, чтобы определить обнаружен ли принтер. Для просмотра загруженных модулей ядра также можно воспользоваться утилитой Шаблон:Ic.

USB-принтеры

Для использования USB-принтера может потребоваться внести в черный список модуль Шаблон:Ic. Учтите, что насчет добавления Шаблон:Ic в черный список имеется некоторая неопределенность, так как некоторые USB-принтеры, в частности некоторые серии принтеров Canon и Epson, не определяются без этого модуля. Несколько пользователей принтеров Samsung, после добавления в черный список модуля Шаблон:Ic, сообщили о проблемах с Шаблон:Ic, в качестве решения предлагается повторное включение модуля Шаблон:Ic и установка из AUR пакета Шаблон:Ic вместо стандартного пакета Шаблон:Ic (https://bbs.archlinux.org/viewtopic.php?pid=778104). С февраля 2012, ранее работавший с cups-usblp USB-принтер Samsung ML2010, работает с cups и внесением в черный список usblp.

Добавление модуля в черный список:

Шаблон:Hc

либо создав в Шаблон:Ic свой файл, например Шаблон:Ic, со следующим содержимым:

Шаблон:Hc

При использовании ядра собранного самостоятельно, возможно придется вручную загрузить модуль Шаблон:Ic:

# modprobe usbcore

После загрузки всех необходимых модулей — включите принтер и проверьте обнаружен ли он ядром, для этого выполните следующее:

# tail /var/log/messages.log

или

# dmesg

При использовании Шаблон:Ic, сообщение об обнаружении принтера будет выглядеть примерно так:

Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver

Если Шаблон:Ic находится в черном списке, то будет выведено примерно следующее:

usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice

Принтеры с параллельным портом

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

# modprobe lp
# modprobe parport
# modprobe parport_pc

Еще раз проверьте настройки выполнив команду:

# tail /var/log/messages.log

Должно быть показано что-то вроде этого:

lp0: using parport0 (polling)

При использовании адаптера с USB на параллельный порт, CUPS не сможет обнаружить принтер. В качестве обходного пути — добавьте принтер используя другие типы соединений, а затем измените DeviceID в файле Шаблон:Ic:

DeviceID = parallel:/dev/usb/lp0

Автозагрузка

Возможно, вам будет удобнее если соответствующий модуль будет загружен при старте системы. Для этого откройте в текстовом редакторе файл Шаблон:Ic, и добавьте нужный модуль в строку Шаблон:Ic. Например, так:

MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss lp parport parport_pc ide-scsi)

Демон CUPS

После установки соответствующих модулей ядра, можно приступать к запуску демона CUPSШаблон:Broken section link. Для автоматического запуска демона при старте системы следует добавить cupsd в строку DAEMONS.

Web-интерфейс и средства управления

После запуска демона

# systemctl start org.cups.cupsd

откройте браузер и зайдите на: http://localhost:631 (Строку localhost, возможно, придется заменить на имя хоста из Шаблон:Ic).

Теперь для добавления принтера можно использовать различные мастера. Для запуска обыкновенной процедуры установки кликните Добавление принтеров и групп, затем Добавить принтер. При запросе имени пользователя и пароля нужно будет войти в качестве root. Далее будет представлен список устройств для выбора. Фактическое имя принтера отображается рядом с меткой ( например, USB-принтеры напротив USB Printer #1). Принтеру можно присваивать любое имя, аналогично для пунктов ‘Расположение’ и ‘Описание’. После выбора соответствующего драйвера настройки будут окончены.

Убедитесь в правильности настроек, нажав на кнопку Print Test Page (Печать тестовой страницы) в выпадающем меню Maintenance (Обслуживание). Если принтер не печатает, но вы уверены в правильности всех настроек, попытайтесь сменить драйвер принтера на другой.

Шаблон:Tip

Шаблон:Note (Русский)

Администрирование CUPS

При администрировании принтера через веб-интерфейс (например для: добавления или удаления принтеров, остановки заданий печати, и т.д) понадобятся имя пользователя и пароль. Пользователем по-умолчанию может быть пользователь из группы sys или root (для изменения измените значение в строке SystemGroup файла Шаблон:Ic).

При заблокированной учетной записи root (т.е. используя sudo) будет невозможно войти в веб-интерфейс управления CUPS с именем пользователя по умолчанию и его паролем. В этом случае придерживайтесь инструкций из CUPS FAQ. Дополнительно прочтите это сообщение.

Удаленный доступ к веб-интерфейсу

По умолчанию, доступ к веб-интерфейсу CUPS разрешен только localhost; т.е. компьютеру на котором он установлен. Для разрешения удаленного доступа нужно внести следующие изменения в файл Шаблон:Ic. Замените строку:

Listen localhost:631

на строку

Port 631

для того, чтобы CUPS мог слушать входящие запросы.

Можно предоставить три уровня доступа:

<Location />           #доступ к серверу
<Location /admin>	#доступ к странице администрирования
<Location /admin/conf>	#доступ к конфигурационным файлам

Для разрешения удаленного доступа к одному из уровней, добавьте параметр Шаблон:Ic в секцию соответствующую выбранному уровню. Параметр Шаблон:Ic может принимать одно или несколько из перечисленных ниже значений:

Allow all
Allow host.domain.com
Allow *.domain.com
Allow ip-address
Allow ip-address/netmask

Параметр также может быть использован для запрета. Например, если нужно дать полный доступ всем хостам подсети 192.168.1.0/255.255.255.0, файл Шаблон:Ic должен содержать следующее:

# Ограничение доступа к серверу...
# По умолчанию возможны только локальные подключения
<Location />
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Ограничение доступа к странице администрирования...
<Location /admin>
   # Encryption disabled by default
   #Encryption Required
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Ограничение доступа к конфигурационным файлам...
<Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

Также вам потребуется добавить:

DefaultEncryption Never

Для того, чтоб избежать получения ошибки: 426 — Upgrade Required when using the CUPS web interface from a remote machine.

Устранение проблем

Наилучший способ борьбы с неисправностями — это выставить ‘LogLevel’ в файле Шаблон:Ic в:

LogLevel debug

А потом посмотреть вывод из файла Шаблон:Ic например так:

# tail -n 100 -f /var/log/cups/error_log

Символы слева от вывода означают следующее:

  • D=Debug (отладка)
  • E=Error (ошибка)
  • I=Information (информация)
  • И так далее

Следующие файлы также могут быть полезны:

  • Шаблон:Ic — каждый раз при успешной печати, пишет новую запись
  • Шаблон:Ic — записывает всю активность на cupsd http1.1 сервере

Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:

  1. Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
  2. CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
  3. GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
  4. Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд

Проблемы в результате обновления

Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ

CUPS останавливается

Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения «404 — page not found» при попытке входа в панель управления CUPS через localhost:631.

Для того, чтобы воспользоваться новым конфигом, скопируйте Шаблон:Ic в Шаблон:Ic (при необходимости сделайте резервную копию старого конфига):

# cp /etc/cups/cupsd.conf.default /etc/cups/cupsd.conf

и, чтобы новые настройки вступили в силу, перезапустите CUPS.

Для всех заданий — «остановлено» («stopped»)

Если для всех отправленных на печать заданий установился статус «остановлено» («stopped»), — удалите принтер и установите его заново.
Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.

Для проверки настроек принтера перейдите во вкладку Принтеры, затем Администрирование. В выпадающем списке кликните ‘Изменить принтер’, перейдите к следующей странице (ам), и так далее.

Для всех заданий — «Принтер не отвечает» («The printer is not responding»)

Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:

lpd://BRN_020554/BINARY_P1

то имени хоста ‘BRN_020554’ должны соответствовать IP принтеров, управляемых сервером CUPS.

Версия PPD не совместима с gutenprint

Запустите:

# /usr/sbin/cups-genppdupdate

И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).

USB-принтеры под CUPS 1.4.x

Новый CUPS 1.4.x принес множество изменений:

Занесение в черный список usblp

Теперь CUPS, вместо генерирования устройств /dev/usb/lpX с помощью usblp, использует устройства libusb и USB-принтеры (из /dev/bus/usb/). Для того, чтобы заработали USB-принтеры — необходимо выключить модуль usblp.
Выключить можно либо добавив в Шаблон:Ic:

Шаблон:Hc

либо создав в Шаблон:Ic свой файл, например Шаблон:Ic, со следующим содержимым:

Шаблон:Hc

Некоторым пользователям, возможно, прийдется переустановить принтер.

Определение устройства

В дополнение к отключению загрузки usblp, CUPS могут понадобится права на файл устройства USB-принтера — root:lp, и должны быть 660. Например.

$ ls -l /dev/bus/usb/003/002
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002

Этого можно добиться добавлением двумя правилами udev в Шаблон:Ic:

# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
# the ones from the old usblp kernel module
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"

Тем не менее, для некоторых устройств, например, многофункциональных устройств принтер/сканер, эти правила либо не используются, либо перекрываются правилами пакета ‘sane’. В этом случае нужно будет добавлять пользовательские правила udev. Смотри далее.

Устранение неполадок при определении устройств

Узнаем файл устройства принтера и права доступа к нему:

$ lsusb
...
Bus 003 Device 002: ID 04b8:0841 Seiko Epson Corp.
$ ls -l /dev/bus/usb/003/002
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002

Если права доступа не root:lp 660, придется создать пользовательское правило udev для этого устройства, пример
Шаблон:Hc

Для многофункциональных устройств (принтер+сканер), для того, чтоб SANE определил его корректно:
Шаблон:Hc

Обратите внимание:

  • Шаблон:Ic и Шаблон:Ic взяты из вывода команды Шаблон:Ic показанного выше.
  • некоторым принтерам понадобятся права доступа Шаблон:Ic.
Загрузка прошивки (firmware)

Для некоторых принтеров и драйверов понадобится загрузка прошивки принтера (таким как, использующие foo2zjs, принтеры HP LaserJet 10xx) и сделать это будет нужно путем записи прямо на устройство lp, такие функциональные возможности предоставляет usblp. Для обхода этого ограничения нужно будет загрузить модуль usblp при загрузке прошивки, а затем, для нормальной работы CUPS, удалить модуль. Для ручной загрузки модуля выполните

$ modprobe usblp

загрузка прошивки, затем:

$ rmmod usblp

Также можно обойтись без добавления usblp в черный список, добавьте «rmmod usblp» в Шаблон:Ic, при этом прошивка будет загружена при старте системы, а затем, при чтении Шаблон:Ic, модуль usblp будет выгружен.

В случае если принтер окажется подключенным или на нем будет включено питание уже на работающей системе — файл Шаблон:Ic не будет использован и модуль usblp останется подгруженным. Обойти это можно изменив Шаблон:Ic, созданный для foo2zjs, таким образом чтоб при добавлении устройства выполнялось нужное событие, например: 15 секунд для загрузки прошивки и автоматического удаления usblp. Следующий пример для HP LaserJet 1018. Для других моделей значения ATTRS{idProduct} должны быть изменены, соответственно модели принтера.

Найдите в Шаблон:Ic строку соответствующую вашему принтеру:

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     
       ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"

Добавьте после нее следующие строки, при этом убедитесь, что соответствуют IDs продукта и производителя:

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     
       ATTRS{idProduct}=="4117", RUN+="/usr/bin/sleep 15"
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     
       ATTRS{idProduct}=="4117", RUN+="/usr/bin/rmmod usblp"

Остальное

Устранение ошибок CUPS
  • Пользователям, регулярно получающим ошибки вида ‘NT_STATUS_ACCESS_DENIED’ (Windows-клиенты), следует слегка изменить синтаксис:
smb://workgroup/username:password@hostname/printer_name
  • Иногда, блочные устройства могут иметь не правильные права:
# ls /dev/usb/
lp0
# chgrp lp /dev/usb/lp0

Принтер HPLIP выдает ошибку «/usr/lib/cups/backend/hp failed»

Убедитесь, что dbus установлен и запущен, для этого или проверьте секцию DAEMONS в Шаблон:Ic, или выполните Шаблон:Ic.

Если демон dbus запущен, но ошибка все равно повторяется — нужен avahi-daemon.

Шаблон:Note (Русский)

Настройка HPLIP выполнена, но принтер не работает

Данная проблема возникает при использовании драйвера hpijs (устарел) (напр. для серии Deskjet D1600). Вместо него, при добавлении принтера, выбирайте драйвер hpcups.

hp-toolbox выдает ошибку «Unable to communicate with device» («Невозможно соединиться с устройством»)

Если в результате запуска hp-toolbox от обычного пользователя получаете сообщение:

# hp-toolbox
# error: Unable to communicate with device (code=12): hp:/usb/<printer id>

или, «Шаблон:Ic», значит следует добавить пользователя в группу lp, для этого выполните следующую команду:

# gpasswd -a <username> lp

CUPS с принтером HP возвращает ‘»foomatic-rip» not available/stopped with status 3’ (‘»foomatic-rip» не используется/остановлен со статусом 3’)

Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘stopped’, а в Шаблон:Ic возникает одно из следующих сообщений об ошибках:

Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director

или:

PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!

Убедитесь, что установлен hplip, также может понадобится пакет net-snmp. Прочитайте эти сообщения на форуме.

# pacman -S hplip

Завершение печати из-за ошибок авторизации

Если пользователь уже добавлен в группу lp, и ему разрешена печать (настраивается в Шаблон:Ic), то проблему следует искать в файле Шаблон:Ic. Проблема может заключаться в следующей строке:

AuthInfoRequired negotiate

Закомментируйте ее и перезапустите CUPS.

Неактивна кнопка Печать в диалогах приложений GNOME

Источник: I can’t print from gnome applications. — Arch Forums

Убедитесь, что установлен пакет: libgnomeprint

Отредактируйте Шаблон:Ic добавив в него

# HostNameLookups Double

Перезапустите CUPS:

# /etc/rc.d/cupsd restart

Не найдена поддержка формата: application/postscript

Закомментируйте строки:

application/octet-stream        application/vnd.cups-raw        0      -

в Шаблон:Ic, и:

application/octet-stream

в Шаблон:Ic.

Определение URIs для Windows Print Servers

Иногда Windows предоставляет не полную информацию об URI (расположение устройств). Если в CUPS возникли проблемы с указанием местоположения устройств — необходимо выполнить команду получения списка всех ресурсов, которые доступны данному windows-пользователю:

$ smbtree -U windowsusername

Если Samba работает и настроена правильно, то будут отображены все, доступные выбранному Windows-пользователю, ресурсы локальной сети. Команда должна отобразить что-то, типа этого:
Шаблон:Bc
Нам понадобится первая часть последней строки -ресурс соответствующий описанию принтера. Таким образом, для получения возможности печатать на принтере EPSON Stylus, в качестве URI в CUPS следует ввести:

smb://username:password@REGULATOR-PC/EPSON Stylus CX8400 Series

Обратите внимание на то, что в URI допускаются пробелы, а знаки «» следует заменять на «//».

Ошибка задания для печати client-error-document-format-not-supported

Нужно установить пакет foomatic и использовать драйвер foomatic.

Не работает /usr/lib/cups/backend/hp

В Шаблон:Ic замените:

 SystemGroup sys root

на

 SystemGroup lp root

Принтер Samsung не печатает некоторые документы

Бывает, что принтер Samsung прекрасно работает с Шаблон:Ic, но не печатает некоторые документы (файлы Inkscape с текстом) и даже сбоит. В качестве решения можно посоветовать использовать пакет Шаблон:AURШаблон:Broken package link (Русский) с добавлением модуля Шаблон:Ic в черный список (как было описано ранее).

Не отображается локальный USB-принтер

Если ваш usb-принтер не отображается — попробуйте заменить Шаблон:Pkg на Шаблон:AURШаблон:Broken package link (Русский) (пакет можно найти в AUR). Затем проверьте работоспособность сначала с загруженным модулем Шаблон:Ic, а затем, если не поможет, — с добавленным в черный список.

«Не удается получить список драйверов для принтеров»

Попробуйте удалить драйверы Foomatic.

Приложение

Альтернативные интерфейсы CUPS

В среде GNOME, вы можете конфингурировать ваш принтер с помощью system-config-printer-gnome. С помощью pacman можно установить этот пакет:

# pacman -S system-config-printer-gnome

Для нормальной работы system-config-printer понадобиться или запуск с правами администратора, или, если от обычного пользователя, то такому пользователю должно быть разрешено администрировать CUPS (если это так — выполните шаги 1-3)

  • 1. Создайте группу и внесите в нее нужного пользователя:
# groupadd lpadmin
# usermod -aG lpadmin <username>
  • 2. Добавьте «lpadmin» (без кавычек) в следующую строку файла Шаблон:Ic
SystemGroup sys root <insert here>
  • 3. Перезапустите cups, выйдите и снова войдите в систему (или перезагрузите компьютер)

Шаблон:Bc

Пользователи KDE могут изменять настройки из «Control Center» (kcontrol). Для получения дополнительной информации, обратитесь к документации вашего рабочего окружения (DE).

Также в AUR можно найти пакет gtklp

Виртуальный PDF-принтер

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

Созданные PDF-документы можно найти в Шаблон:Ic. Обычно, более удобно такие документы добавлять в домашнюю директорию пользователя. Настроить такое поведение несложно. В файле /etc/cups/cups-pdf.conf найдите и строку:

#Out /var/spool/cups-pdf/${USER}

и приведите ее к такому виду:

Out /home/${USER}

Установить этот пакет можно командой:

# pacman -S cups-pdf

После установки пакета, настройте PDF-принтер аналогично обычному принтеру, например с помощью веб-интерфейса. В Device (Оборудование) выберите — CUPS-PDF (Virtual PDF Printer); Make/Manufacturer (Марка/Производитель) выберите — Generic; Model/Driver (Модель/Драйвер) выберите — Generic postscript color printer или Generic Cups-PDF Printer. В качестве альтернативы, по этой ссылке можно найти другой PPD-файл.

Печать в postscript: тонкости использования виртуального CUPS-PDF-принтера

Для большинства приложений, таких как OpenOffice, печать в PDF не является проблемой; достаточно просто нажать кнопку. Для печати в postscript, потребуется выполнить небольшой дополнительный объем работ. CUPS-PDF (Виртуальный PDF-принтер) на самом деле создает postscript-файл, а затем уже с помощью утилиты ps2pdf, преобразовывает его в PDF. Для печати в postscript, необходимо сначала передать созданные CUPS-PDF postscript-файлы. Для этого в диалоге печати нужно выбрать вариант «print to file» («печатать в файл»). (выберите расширение для файла или .ps, или .eps). После того, как будет отмечен флажок «print to file» («печатать в файл»), введите имя файла и нажмите «print» («печать»).

Настройка виртуального CUPS-PDF-принтера
  1. Прочтите инструкция по настройке демона cups.
  2. Установите Шаблон:Pkg из [extra].
  3. Запустите менеджер печати cups: http://localhost:631 и выберите:
Administration -> Add Printer
Select CUPS-PDF (Virtual PDF), выберите марку и модель:
Make:	Generic
Driver:	Generic CUPS-PDF Printer

Теперь, для печати в postscript, в диалоговом окне печати установите «CUPS-PDF» в качестве принтера, установите флажок на «print to file» («печатать в файл»), нажмите печать, введите имя_файла.ps и кликните сохранить. Метод удобен при обработке факсов и т.д…

Другие источники драйверов для принтеров

Turboprint — проприетарный драйвер для многих моделей принтеров, которые до сих пор не поддерживаются в GNU/Linux (например Canon i*). Единственная проблема в том, что высококачественная печать будет либо с водяным знаком, либо за отдельную плату…

Дополнение

Список вебсайтов, которые могут быть вам полезны:

  • Official CUPS documentation on your computer http://localhost:631/documentation.html
  • Official CUPS Website — http://www.cups.org/
  • Linux Printing — http://www.linuxprinting.org/
  • Tips and Suggestions on common CUPS problems — http://home.nyc.rr.com/computertaijutsu/cups.html
  • Gentoo’s Printing Guide — http://www.gentoo.org/doc/en/printing-howto.xml
  • Arch Linux User Forums — https://bbs.archlinux.org/

Особые случаи

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

Принтеры с параллельным портом HP (hplip)

Шаблон:Note (Русский)

Если HP принтер подключен через параллельный порт, то потребуется пересобрать пакет hplip с опцией —enable-pp-build.
Для этого устанавливаем и обновляем ABS:

# pacman -S abs
# abs

Копируем необходимые файлы для сборки

# cp -r /var/abs/extra/hplip /tmp

Правим файл Шаблон:Ic и добавляем опцию —enable-pp-build для ./configure:

[...]
./configure --prefix=/usr 
            --enable-qt4 
            --enable-pp-build 
            --enable-foomatic-rip-hplip-install 
            --enable-foomatic-ppd-install 
            --enable-hpcups-install 
            --enable-cups-drv-install 
            --enable-hpijs-install 
            --enable-foomatic-drv-install 
            --enable-udev-acl-rules
[...]

Собираем и ставим пакет:

cd /tmp/hplip
makepkg -s
pacman -U hplip-3.10.6-1-i686.pkg.tar.xz

Далее принтер настраивается обычным путем через web-интерфейс CUPS http://localhost:631.

Если принтер правильно настроен для работы с hplip, то строка подключения в CUPS будет начинаться с hp:

hp:/par/HP_LaserJet_6L?device=/dev/parport0

Шаблон:Note (Русский)

Устанавливаем hplip (пересобирать пакет не надо, он уже собран с —enable-pp-build)

# pacman -S hplip

Далее запускаем

# hp-setup -i -a -x /dev/parport0

для автоматического добавления принтера в CUPS, либо добавляем «ручками» через веб-интерфейс http://localhost:631.

Печать не работает/прерывается на принтерах HP Deskjet 700

Проблема решается установкой фильтра pnm2ppa для принтеров HP Deskjet 700 series. Без этого задания на печать будут отменяться системой. PKGBUILD для pnm2ppa можно найти здесь: AUR.

Заставить работать HP LaserJet 1010

Мне для этого пришлось самому собрать ghostscript, потому что gs ESP в репозитории был версии 7.07 и имел некоторые ошибки, исправленные в ESP 8.15.1. Я никогда не пользовался пакетом ‘foomatic’ из репозитория. Я думаю что этот пакет устарел.

$ pacman -Qs cups a2ps psutils foo ghost
local/cups 1.1.23-3
    The CUPS Printing System
local/a2ps 4.13b-3
    a2ps is an Any to PostScript filter
local/psutils p17-3
    A set of postscript utilities.
local/foomatic-db 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/foomatic-db-engine 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/foomatic-db-ppd 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/foomatic-filters 3.0.2-1
    Foomatic is a system for using free software printer drivers with common
    spoolers on Unix
local/espgs 8.15.1-1
    ESP Ghostscript

Также я был вынужден выставить LogLevel в /etc/cups/cupsd.conf в debug2 для того чтобы обнаружить отсутствие некоторых шрифтов «Nimbus». Затем я переименовал их и положил туда, куда мне подсказывал лог. Тут нужно привести хитрый способ поиска в google, например т.к. шрифты являются проприетарными (уверен что в windows это по умолчанию). В любом случае, после скачивания шрифтов (около 7) и помещения их в правильную директорию печать заработала.

До этого я получал ошибки описанные здесь: ‘Unsupport PCL’ и т.п…

Уверен что это работало бы и с gs ESP 7.07 (в репозитории) если бы у меня раньше хватило ума включить DebugLevel2 :-/

Обновление: да, это работает… может быть эта информация окажется полезной для кого-либо ещё… извините за неудобства.

Заставить работать HP LaserJet 1020 (1018 и похожие)

После множества попыток связанных с hplib и gutenprint я наконец нашёл решение как заставить мой HP Laserjet 1020 печатать.

Первым делом вам надо уставить cups и ghostscript. Затем пройдите по ссылке
http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1020 на страницу драйверов печати http://foo2zjs.rkkda.com/ и следуйте интрукциям по установке. Залогиньтесь как root. После скачивания и распаковки архива переместитесь в распакованную директорию foo2zjs. Теперь вы можете делать всё по оригинальной инструкции по установке, лишь с небольшой модификацией для изменения userid пользователя для печати:

 $ make
 $ ./getweb 1020
 

Откройте Makefile

$ nano Makefile

найдите там строку

# LPuid=-olp

и модифицируйте её таки образом:

# LPuid=-oroot

дальше выполняйте сборку

 $ make install
 $ make install-hotplug
 $ make cups

Сейчас в этих действиях нет необходимости. Теперь строка LPuid=-oroot стоит по умолчанию.

Вы также можете взять пакет foo2zjs из AUR и модифицировать PKGBUILD: измените строку

./getweb all

на

./getweb 1020

(или, если устанавливаете другой принтер, измените эту строку на что, что вам нужно).

Последним шагом является добавление и конфигурирование принтера в CUPS manager. Принтер должен определиться автоматически. Это отлично работает для root’а и всех ползователей. Когда ОС загружается, принтер инициализируется и сигнализирует о том, что он работает.
Так же строку

./getweb 1020

можно изменять на необходимые 1018 (для работы принтера Hewlett-Packard 1018) и т.д.

./getweb 1018

Список поддерживаемы моделей тут: http://foo2zjs.rkkda.com/

HPLIP

Больше нет необходимости устанавливать драйвер foo2zjs для работы принтера HP LJ 1018/1020, поскольку в последних версиях hplip он работает «из коробки». Вам следует установить hplip, gnomesu или gksu, qt и pyqt4, после чего запустить

sudo hp-setup

CUPS-сервер должен быть запущен. Мастер установки hplip автоматически установит ваш принтер. После следует установить плагин к принтеру. Для этого запустить от пользователя программу hp-toolbox и выберите «install required plugin». Плагин автоматически загрузится с сайта производителя.
Никаких дополнительных действий (вроде внесения usblp и MODULES_BLACKLIST) выполнять не надо.

Выполнение сервисных операций на принтерах Epson

Escputil

Здесь объясняется как выполнить некоторые вспомогательные операции, такие как очистка и проверка сопел на принтерах Epson. Для этого мы будем использовать утилиту escputil, которая входит в состав пакета gutenprint.

Man-страница этой утилиты («man escputil») содержит очень полезную информацию, но не включает в себя необходимых сведений о том как идентифицировать ваш принтер. Для этого могут быть использованы два параметра. Первый из них —printer; он принимает имя принтера, которое вы использовали при его конфигурировании. Другой &mdash —raw-device. Эта опция примаетпуть к устройству. Если ваш принтер подключен к последовательному порту, то устройство будет выглядеть примерно как «/dev/lp0». Если же ваш принтер подключен к USB, по устройство будет «/dev/usb/lp0». Если у вас более одного принтера они будут иметь имена файлов устройств «lp1», «lp2» и т.д.

  • очистка печатающей головки:
escputil -u --clean-head
  • проверка сопел:
escputil -u --nozzle-check

Если вам необходимо произвести операцию, которая требует двухстороннего общения с принтером вы должны использовать спецификацию «—raw-device», а ваш пользователь должен состоять в группе «lp» или быть root’ом.

  • получение внутреннего имени принтера:
  sudo escputil --raw-device=/dev/usb/lp0 --identify
  • получение уровня чернил:
  sudo escputil --raw-device=/dev/usb/lp0 --ink-level

Mtink

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

См. также

  • Официальная документация CUPS documentation, локальная установка
  • Официальный Веб-сайт CUPS
  • Linux Printing, Linux Foundation
  • Руководство по печати в Gentoo, Источники Документации Gentoo
  • Форум пользователей Arch Linux
  • Простая установка принтеров HP

Источник

Источник https://wiki.archlinux.org/index.php/CUPS_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Comments

@michaelrsweet

Version: 1.7.0
CUPS.org User: theking2

After following the steps in http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_prn1a.html and installed all drivers print jobs are canceled.

This is in the /var/log/cups/access_log for each job
localhost — — [02/Feb/2014:21:23:40 +0100] «POST /printers/HL3040CN HTTP/1.1» 200 216 Create-Job successful-ok
localhost — — [02/Feb/2014:21:23:40 +0100] «POST /printers/HL3040CN HTTP/1.1» 200 1479 Send-Document client-error-document-format-not-supported
localhost — — [02/Feb/2014:21:23:40 +0100] «POST /jobs/ HTTP/1.1» 200 169 Cancel-Job successful-ok

@michaelrsweet

Copy link


Collaborator

Author

CUPS.org User: mike

We do not support or develop the software/driver you are using. Please contact the developer for assistance.

@michaelrsweet

Copy link


Collaborator

Author

CUPS.org User: h.blischke

I suppose it is due to your configuragen.
Brother’s cupswrapper installation script generates a PPD that contains a
*cupsFilter
line that demands application/vnd.cups-postscript as the input format, and your
filter configuration seems not to provide a path to this format as en endpoint.

@michaelrsweet

Copy link


Collaborator

Author

1 participant

@michaelrsweet

Содержание

  1. unixforum.org
  2. Как запустить под Linux HP Deskjet D1663 ? (client-error-document-format-not-supported)
  3. Как запустить под Linux HP Deskjet D1663 ?
  4. Re: Как запустить под Linux HP Deskjet D1663 ?
  5. Re: Как запустить под Linux HP Deskjet D1663 ?
  6. Re: Как запустить под Linux HP Deskjet D1663 ?
  7. Как запустить под Linux HP Deskjet D1663
  8. Три файла
  9. CUPS/Troubleshooting
  10. Debug log
  11. Problems resulting from upgrades
  12. CUPS stops working
  13. All jobs are «stopped»
  14. All jobs are «The printer is not responding»
  15. The PPD version is not compatible with gutenprint
  16. _2.4.0″>Issues Relating to Upgrade 2.3.3 -> 2.4.0
  17. _2.3.3+106+ga72b0140e-1″>Issues Relating to Upgrade 2.3.3-3 -> 2.3.3+106+ga72b0140e-1
  18. Networking issues
  19. Unable to add printer or message «print in progress» but nothing happens
  20. Unable to locate printer
  21. Old CUPS server
  22. Unable to locate PPD file
  23. Finding URIs for Windows print servers
  24. USB printers
  25. Conflict with SANE
  26. Conflict with usblp
  27. USB autosuspend
  28. Bad permissions
  29. HP issues
  30. CUPS: «/usr/lib/cups/backend/hp failed»
  31. CUPS: Job is shown as complete but the printer does nothing
  32. CUPS: ‘»foomatic-rip» not available/stopped with status 3’
  33. CUPS: «Filter failed»
  34. Missing ghostscript
  35. Missing foomatic-db
  36. Avahi not enabled
  37. Out-of-date plugin
  38. Outdated printer configuration
  39. Client and host both run CUPS with hpcups
  40. CUPS: prints only an empty and an error-message page on HP LaserJet
  41. CUPS: «File «/usr/lib/cups/filter/rastertospl» not available
  42. HPLIP 3.13: Plugin is installed, but HP Device Manager complains it is not
  43. hp-toolbox: «Unable to communicate with device»
  44. Virtual CDROM printers
  45. Networked printers
  46. hp-setup asks to specify the PPD file for the discovered printer
  47. hp-setup: «Qt/PyQt 4 initialization failed»
  48. hp-setup: finds the printer automatically but reports «Unable to communicate with device» when printing test page immediately afterwards
  49. hp-setup: «KeyError: ‘family-class’»
  50. Broken pipe
  51. Other
  52. Printer «Paused» or «Stopped» with Status «Rendering completed»
  53. Low ink
  54. Printing fails with unauthorised error
  55. Unknown supported format: application/postscript
  56. Print-Job client-error-document-format-not-supported
  57. Unable to get list of printer drivers
  58. lp: Error — Scheduler Not Responding
  59. «Using invalid Host» error message
  60. Cannot print from LibreOffice
  61. Printer output shifted
  62. Printer becomes stuck after a problem
  63. Samsung: URF ERROR — Incomplete Session by time out
  64. Brother: Printer prints multiple copies
  65. Regular user cannot change properties of the printer or remove certain jobs
  66. Cannot login into web interface
  67. No Suitable Destination Found

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Как запустить под Linux HP Deskjet D1663 ? (client-error-document-format-not-supported)

Как запустить под Linux HP Deskjet D1663 ?

Сообщение AndreiIW » 08.12.2009 18:18

Есть комп, на него поставил Runtu. Подключил через USB принтер HP Deskjet D1663 и в Конфигурация—Печать нажал «Добавить принтер». Принтер успешно обнаружился и установился. Однако при печати Тестовой страницы выскакивает ошибка

Ошибка сервера CUPS
Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’.

Если отправлять на печать документ в Open Office, то программа сообщает «Ошибка печати»

Установил hplip. Hplip определил принтер но всё равно не печатает. И всё те же ошибки что и выше. Что можно ещё придумать, где можно ещё покапать?

Re: Как запустить под Linux HP Deskjet D1663 ?

Сообщение Nikky » 09.12.2009 10:12

Re: Как запустить под Linux HP Deskjet D1663 ?

Сообщение AndreiIW » 09.12.2009 16:29

Re: Как запустить под Linux HP Deskjet D1663 ?

Сообщение AndreiIW » 10.12.2009 10:37

Интересный эксперимент получился. Я на Windows установил виртуальную машину, а на виртуальной машине поставил Ubuntu 9.10 . Подсоединил принтер к виртуальной машине и тут же принтер определился и стал работать.

Я на радостях стал копировать на флешку все попки cups и всё что там было. Потом подсоединил эту флешку к моему больному Linux и переписал под Рутом все папки cups учитывая все пути. Потом перезагрузил больной Linux.

После перезагрузки ошибка Ошибка сервера CUPS Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’. перестала выскакивать. Теперь при печати пробного листа пичать уходит, но через пару секунд в диспетчере печати печать переходит со статуса «Печать» в статус «Отменён».

Открываю лог и вот что вижу
E [09/Dec/2009:21:12:22 +0300] PID 5120 (/usr/lib/cups/filter/pdftopdf) stopped with status 127!
E [09/Dec/2009:21:12:22 +0300] PID 5121 (/usr/lib/cups/filter/foomatic-rip) stopped with status 22!
E [09/Dec/2009:21:12:22 +0300] PID 5124 (/usr/lib/cups/backend/hp) stopped with status 1!
E [09/Dec/2009:21:12:22 +0300] PID 5117 (/usr/lib/cups/filter/pstopdf) stopped with status 127!

Однако потом всё сломалось. Решил удалить принтер и снова его поставить. Удалить удалил, но теперь принтер не устанавливается, на этапе определения принтера ОПРЕДЕЛЯТОР зависает на веки вечной и вывести его из состояния ступора невозможно.

Переустановил cups и hplip и сейчас посылая страницу на печать, команда уходит и в очереди печати появляется задание. Но после нескольких секунд задание переходит в статус «Остановлен». Вот логи

E [09/Dec/2009:23:37:11 +0300] PID 5456 (/usr/lib/cups/filter/pdftopdf) stopped with status 127!
E [09/Dec/2009:23:37:12 +0300] PID 5455 (/usr/lib/cups/filter/pstopdf) stopped with status 127!
E [09/Dec/2009:23:37:19 +0300] PID 5458 (/usr/lib/cups/filter/hpcups) stopped with status 1!
E [09/Dec/2009:23:37:19 +0300] [Job 9] Job stopped due to filter errors.

Люди добрые на одном из форумов подсказали, читая эти логи, что проблема в postscript-драйвере.

Подскажите postscript-драйвер идёт для каждой модели принтера свой, или postscript-драйвер общий для всех принтеров? Если он общий для всех принтеров, то скорее всего это будет какой то пакет, который можно переустановить и настроить.

Источник

Как запустить под Linux HP Deskjet D1663

Есть комп, на него поставил Runtu. Подключил через USB принтер HP Deskjet D1663 и в Конфигурация—Печать нажал «Добавить принтер». Принтер успешно обнаружился и установился. Однако при печати Тестовой страницы выскакивает ошибка

Ошибка сервера CUPS Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’.

Если отправлять на печать документ в Open Office, то программа сообщает «Ошибка печати»

Установил hplip. Hplip определил принтер но всё равно не печатает. И всё те же ошибки что и выше. Что можно ещё придумать, где можно ещё покапать?

Загрузите /var/log/cups/*_log (три файла) на http://paste.org.ru/ и дайте нам ссылки.

Три файла

Ребят спасибо что откликнулись. Итак выкладываю содержимое трёх файликов.

Попробуй снести cups, hplip, ps и пр.
А затем переустановить

sudo aptitude install hplip

Удалил cups, hplip. Что такое ps и за что оно отвечает, внятное разумение я не нашёл не в Яндексе, не в Гугле, поэтому ps решил не трогать.

После переустановки cups сделал sudo aptitude install hplip. После этого установилась hplip старой версии, которая принтер HP Deskjet D1663 отрадясь не знает. Понятное дело эта версия hplip не в какую не хотела видеть принтер подсоединённый к USB. Эта версия hplip уверенно говорила, что не один принтер не подключен.

Пришлось удалять эту версию hplip и ставить самую свежею версию hplip с сайта производителя. Собрал я свежею версию hplip из исходников, запустил. Эта версия hplip сразу нашла принтер, установила на него драйвер. Но всё по старому, вся та же проблема

Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’.

Куда ещё можно капнуть?

Интересный эксперимент получился. Я на Windows установил виртуальную машину, а на виртуальной машине поставил Ubuntu 9.10 . Подсоединил принтер к виртуальной машине и тут же принтер определился и стал работать.

Я на радостях стал копировать на флешку все попки cups и всё что там было. Потом подсоединил эту флешку к моему больному Linux и переписал под Рутом все папки cups учитывая все пути. Потом перезагрузил больной Linux.

После перезагрузки ошибка Ошибка сервера CUPS Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’. перестала выскакивать. Теперь при печати пробного листа пичать уходит, но через пару секунд в диспетчере печати печать переходит со статуса «Печать» в статус «Отменён».

Открываю лог и вот что вижу E [09/Dec/2009:21:12:22 +0300] PID 5120 (/usr/lib/cups/filter/pdftopdf) stopped with status 127! E [09/Dec/2009:21:12:22 +0300] PID 5121 (/usr/lib/cups/filter/foomatic-rip) stopped with status 22! E [09/Dec/2009:21:12:22 +0300] PID 5124 (/usr/lib/cups/backend/hp) stopped with status 1! E [09/Dec/2009:21:12:22 +0300] PID 5117 (/usr/lib/cups/filter/pstopdf) stopped with status 127!

Всё сломалось. Решил удалить принтер и снова его поставить. Удалить удалил, но теперь принтер не устанавливается, на этапе определения принтера ОПРЕДЕЛЯТОР зависает на веки вечной и вывести его из состояния ступора невозможно.

Что теперь можно сделать?

Ставить PC-BSD 8.0 и там уже смотреть, что установлено:

Источник

CUPS/Troubleshooting

This article covers all non-specific (ie, not related to any one printer) troubleshooting of CUPS and printing drivers (but not problems related to printer sharing), including methods of determining the exact nature of the problem, and of solving the identified problem.

Debug log

The best way to get printing working is to set LogLevel in /etc/cups/cupsd.conf to:

And then viewing the output from /var/log/cups/error_log like this:

The characters at the left of the output stand for:

These files may also prove useful:

  • /var/log/cups/page_log — Echoes a new entry each time a print is successful
  • /var/log/cups/access_log — Lists all cupsd http1.1 server activity

Print a document and watch error_log to get a more detailed and correct image of the printing process.

Problems resulting from upgrades

Issues that appeared after CUPS and related program packages underwent a version increment

CUPS stops working

The chances are that a new configuration file is needed for the new version to work properly. Messages such as «404 — page not found» may result from trying to manage CUPS via localhost:631, for example.

To use the new configuration, copy /etc/cups/cupsd.conf.default to /etc/cups/cupsd.conf (backup the old configuration if needed) and restart CUPS to employ the new settings.

All jobs are «stopped»

The factual accuracy of this article or section is disputed.

If all jobs sent to the printer become «stopped», first check the error log at /var/log/cups/error_log . If it does not yield any useful hints to what is the source of the issue, delete the printer and add it again. Using the CUPS web interface, go to Printers > Delete Printer.

To check the printer’s settings go to Printers, then Modify Printer. Copy down the information displayed, click ‘Modify Printer’ to proceed to the next page(s), and so on.

All jobs are «The printer is not responding»

On networked printers, you should check that the hostname in the printer’s URI resolves to the printer’s IP address via DNS, e.g. if your printer’s connection looks like this:

then the hostname ‘BRN_020554’ needs to resolve to the printer’s IP from the server running CUPS. If Avahi is being used, ensure that Avahi’s hostname resolution is working.

Alternatively, replace the hostname used in the URI with the printer’s IP address.

The PPD version is not compatible with gutenprint

And restart CUPS (as pointed out in gutenprint’s post-install message).

_2.4.0″>Issues Relating to Upgrade 2.3.3 -> 2.4.0

CUPS now officially supports AirPrint and Mopria clients (including Windows 10) by reporting required attributes and DNS-SD TXT record keys. It includes also limited support for huffy iOS clients. This obsoletes the need for Avahi service files for propagation of CUPS shared printers to mobile devices. The following list of new functions has been taken from CUPS release note:

  • New ReadyPaperSizes directive that specifies the «loaded» (ready) media for each printer; the actual list is based on the supported media sizes for the printer, and allows the user to pick a size from a short list. Default list is based on locale (A4, etc. everywhere but North America which uses Letter, etc.)
  • Proper URF/urf-supported values for image/urf.
  • Other attributes/keys as needed.

As a side-effect of the new ready media propagation IOS clients may show wrong media types (e. g. US letter instead of DIN/ISO A4). The best way to get ISO media types is to set DefaultPaperSize in /etc/cups/cupsd.conf to:

for ISO. In addition, the system-default paper size should be configured correctly.

_2.3.3+106+ga72b0140e-1″>Issues Relating to Upgrade 2.3.3-3 -> 2.3.3+106+ga72b0140e-1

As a side-effect of switching Arch’s CUPS upstream from Apple’s senescent original to the actively-developed OpenPrinting fork in November 2020, the names of the CUPS systemd services were changed. The changes map as follows:

  • org.cups.cups-lpd.socket→cups-lpd.socket
  • org.cups.cups-lpd@.service→cups-lpd@.service
  • org.cups.cupsd.socket→cups.socket
  • org.cups.cupsd.service→cups.service
  • org.cups.cupsd.path→cups.path

The CUPS install file for that upgrade recommends:

So, if one had org.cups.cupsd.service enabled, one would disable it with immediate effect ( #systemctl —now disable org.cups.cupsd.service ) and enable its successor, also with immediate effect ( #systemctl —now enable cups.service ).

In addition to disabling the services under their own name and re-enabling them under the new, if you have made any non-standard modifications such as drop-in files (e.g., /etc/systemd/system/org.cups.cupsd.service.d ) or adding the services as Wants= to target or other custom services, those will need to be moved over as well.

Networking issues

Unable to add printer or message «print in progress» but nothing happens

In GNOME Printer settings for example, you could find troubles adding your printer, even though you have installed the drivers. You can try installing system-config-printer and executing it via terminal, and adding the printer from there (for instance using LPD/LPR queue ‘PASSTHRU’).

Unable to locate printer

Even if CUPS can detect networked printers, you may still end up with an «Unable to locate printer» error when trying to print something. The solution to this problem is to enable Avahi’s .local hostname resolution. See CUPS#Network for details.

This problem may also arise when you have a firewall. You may need to disable your firewall or set the right rules. Using system-config-printer to detect network printers will do that automatically.

Similarly, being connected to a VPN may also cause CUPS to be unable to locate the printer. Disabling any VPN connections temporarily for printing can help fixing it.

Old CUPS server

As of CUPS version 1.6, the client defaults to IPP 2.0. If the server uses CUPS version=1.1 option documented at [1] to the URI.

Unable to locate PPD file

Make sure Avahi is set up correctly. In particular, make sure nss-mdns is installed and set up in /etc/nsswitch.conf .

Finding URIs for Windows print servers

Sometimes Windows is a little less than forthcoming about exact device URIs (device locations). If having trouble specifying the correct device location in CUPS, run the following command to list all shares available to a certain windows username:

This will list every share available to a certain Windows username on the local area network subnet, as long as Samba is set up and running properly. It should return something like this:

What is needed here is first part of the last line, the resource matching the printer description. So to print to the EPSON Stylus printer, one would enter:

as the URI into CUPS.

USB printers

Conflict with SANE

If you are also running SANE, it is possible that it is conflicting with CUPS. To fix this create a Udev rule marking the device as matched by libsane:

Conflict with usblp

USB printers can be accessed using two methods: The usblp kernel module and libusb. The former is the classic way. It is simple: data is sent to the printer by writing it to a device file as a simple serial data stream. Reading the same device file allows bi-di access, at least for things like reading out ink levels, status, or printer capability information (PJL). It works very well for simple printers, but for multi-function devices (printer/scanner) it is not suitable and manufacturers like HP supply their own backends. Source: here.

If you have problems getting your USB printer to work, you can try blacklisting the usblp kernel module:

Custom kernel users may need to manually load the usbcore kernel module before proceeding.

Once the modules are installed, run:

Then plug in the printer and inspect the output to see if it was detected.

If you are using usblp , the output should indicate that the printer has been detected like so:

If you blacklisted usblp , you will see something like:

USB autosuspend

The Linux kernel automatically suspends USB devices when there is driver support and the devices are not in use. This can save power, but some USB printers think that they are disconnected when the kernel suspends the USB port, preventing printing. This can be fixed by deactivating autosuspend for the specific device, see Power management#USB autosuspend.

Bad permissions

Check the permissions of the printer USB device. Get the bus and device number from lsusb :

Check the ownership by looking in devfs:

The cups daemon runs as user «cups» and belongs to group «lp», so either this user or group needs read & write access to the USB device. If you think the permissions look wrong, you can change the group and permission temporarily:

Then check if cups can now see the USB device correctly.

To make a persistent permission change that will be triggered automatically each time the USB device is attached, add the following line:

After editing, reload the udev rules with this command:

Each system may vary, so consult udev#List the attributes of a device wiki page.

HP issues

This article or section is a candidate for merging with CUPS/Printer-specific problems#HP.

CUPS: «/usr/lib/cups/backend/hp failed»

Try adding the printer as a Network Printer using the http:// protocol.

CUPS: Job is shown as complete but the printer does nothing

This happens on HP printers when you select the (old) hpijs driver (e.g. the Deskjet D1600 series). Use the hpcups driver instead.

Some HP printers require their firmware to be downloaded from the computer every time the printer is switched on. If there is an issue with udev (or equivalent) and the firmware download rule is never fired, you may experience this issue. As a workaround, you can manually download the firmware to the printer. Ensure the printer is plugged in and switched on, then run:

CUPS: ‘»foomatic-rip» not available/stopped with status 3’

If receiving any of the following error messages in /var/log/cups/error_log while using a HP printer, with jobs appearing to be processed while they all end up not being completed with their status set to ‘stopped’:

make sure hplip has been installed.

CUPS: «Filter failed»

A «filter failed» error can be caused by any number of issues. The CUPS error log (by default /var/log/cups/error_log ) should record which filter failed and why.

Missing ghostscript

Install ghostscript ( /usr/lib/cups/filter/gstoraster needs it to run).

Missing foomatic-db

Install foomatic-db and foomatic-db-ppds . This fixes it in some cases.

Avahi not enabled

Start, and enable the avahi-daemon service.

Out-of-date plugin

This error can also indicate that the plugin is out of date (version is mismatched) and may occur after a system upgrade, possibly showing up as a Plugin error message in the logs. If you have installed hplip-plugin AUR you will need to update the package, otherwise re-run hp-setup -i to install the latest version of the plugin.

Outdated printer configuration

As of hplip-plugin AUR v3.17.11 hpijs is not longer available. If you have printers using hpijs they will fail to print. You must modify them and select the new hpcups driver instead.

You can check if this is your case looking at cups error_log:

Client and host both run CUPS with hpcups

A bug seems to affect CUPS when a host shares a physically connected HP printer using hpcups drivers from hplip , and a client adds the shared printer in is own CUPS server through IPP, using hpcups driver too. On every attempt to print a page from the client, the jobs page from the client returns indefinitly «Sending data to printer» while the same page from the host returns «Filter failed». It appears that the job runs through the CUPS filter twice: a first time on client-side, and a second time on host-side, which makes it fails on host-side. The same bug should not be observed when printing from a Windows client, or when printing directly on the host. There are some workarounds here (use only one method):

  • Use Generic IPP Everywhere Printer driver on the client. When selecting the driver in the CUPS Web Interface, you should find it in the Generic manufacturer.
  • Modify the PPD used on the client side so the job does not goes through the filter client-side. Find the right PPD in /usr/share/ppd/HP and copy it in your home directory. Edit the copy : replace the line *cupsFilter: «application/vnd.cups-raster 0 hpcups» with *cupsFilter: «*/* 0 -» . Now, add your printer on the client CUPS, selecting your custom PPD located in your home directory.
  • Create a raw queue on the host: when you add the printer in the CUPS interface of the host, do not select the specific PPD of your printer, but choose Raw queue from Raw manufacturer. You should be able to add this shared printer on the client, using this time the specific PPD of the printer. With this method, the host is not able to print directly a document because it does not run the filter. However, if the host is a small headless embedded device such as a Raspberry Pi, you might notice an important decrease of the response time with this method compared to the two previous ones, especially with large documents, because it saves a lot a CPU usage.

CUPS: prints only an empty and an error-message page on HP LaserJet

This article or section is out of date.

There is a bug that causes CUPS to fail when printing images on HP LaserJet (in my case 3380). The bug has been reported and fixed by Ubuntu. The first page is empty, the second page contains the following error message:

In order to fix the issue, run the following command as root:

CUPS: «File «/usr/lib/cups/filter/rastertospl» not available

After the printer is connected by other means to the network, setting up the HP 107w Laser printer is possible through the CUPS web interface; but this error prevents printing.

It seems that support for this printer is not provided by hplip. However, drivers can be installed using HP’s install scripts and PPD file found at the HP downloads page.

Extract the .zip and read this gist for further details and instructions.

In case this problem appeared after a PPD package (like foomatic-*) update, check if there are new PPDs for the printer, and try to use the new ones.

As of January 2022, the new driver for Samsung M283x has PXL in the name and the PPD does not reference rastertospl, and the printer works again. Fetching the rastertospl via the above method did not work because the arguments are passed in the wrong order.

HPLIP 3.13: Plugin is installed, but HP Device Manager complains it is not

The issue might have to do with the file permission change that had been made to /var/lib/hp/hplip.state . To correct the issue, a simple chmod 644 /var/lib/hp/hplip.state and chmod 755 /var/lib/hp should be sufficient. For further information, please read this link.

hp-toolbox: «Unable to communicate with device»

Virtual CDROM printers

This can also be caused by printers such as the P1102 that provide a virtual CD-ROM drive for MS Windows drivers. The lp appears in /dev/ and then disappears. In that case, try the usb_modeswitch package, that lets one switch off the «Smart Drive» (udev rules included in said package).

Networked printers

This can also occur with network attached printers using dynamic hostnames if the avahi-daemon is not running. Another possibility is that hp-setup failed to locate the printer because the IP address of the the printer changed due to DHCP. If this is the case, consider adding a DHCP reservation for the printer in the DHCP server’s configuration.

hp-setup asks to specify the PPD file for the discovered printer

Furthermore, when selecting a PPD file in hp-setup’s graphical mode, the field does not update and no error message is shown.

Or, if in interactive (console) mode, you may encounter something similar to this even when providing a correct path to a valid ppd file:

The solution is to install and start cups before running hp-setup .

hp-setup: «Qt/PyQt 4 initialization failed»

Install python-pyqt4 AUR , which is an optdepend of hplip . Alternatively, to run hp-setup with the command line interface, use the -i flag.

hp-setup: finds the printer automatically but reports «Unable to communicate with device» when printing test page immediately afterwards

This at least happens to hplip 3.13.5-2 for HP Officejet 6500A through local network connection. To solve the problem, specify the IP address of the HP printer for hp-setup to locate the printer.

hp-setup: «KeyError: ‘family-class’»

If adding a printer fails silently in the UI or you receive a KeyError: ‘family-class’ traceback from hp-setup , the /usr/share/hplip/data/models/models.dat may need to be manually updated. Check if family-class=Undefined is defined the section for your printer, if not add it:

Broken pipe

If /var/log/cups/error_log contains the HTTP_STATE_WAITING Closing for error 32 (Broken pipe) error, you probably need to install the hplip-plugin AUR and restarts the cups service.

Other

Printer «Paused» or «Stopped» with Status «Rendering completed»

Low ink

When low on ink, some printers will get stuck in «Rendering completed» status and, if it is a network printer, the printer may even become unreachable from CUPS’ perspective despite being properly connected to the network. Replacing the low/depleted ink cartridge(s) in this setting will return the printer to «Ready» status and, if it is a network printer, will make the printer available to CUPS again.

If a remote printer requests authentication CUPS will automatically add an AuthInfoRequired directive to the printer in /etc/cups/printers.conf . However, some graphical applications (for instance, some versions of LibreOffice [2]) have no way to prompt for credentials, so printing fails. To fix this include the required username and password in the URI. See [3], [4].

Unknown supported format: application/postscript

Comment the lines:

from /etc/cups/mime.convs , and:

Print-Job client-error-document-format-not-supported

Try installing the foomatic packages and use a foomatic driver.

The factual accuracy of this article or section is disputed.

If that does not fix, you maybe have to remove the printer from your printer list, then manually search for your printer driver (usually you can find it on AUR), and then add the printer again.

Unable to get list of printer drivers

(Also applicable to error «-1 not supported!»)

Try to remove Foomatic drivers or refer to CUPS/Printer-specific problems#HPLIP for a workaround.

lp: Error — Scheduler Not Responding

If you get this error, ensure CUPS is running, the environmental variable CUPS_SERVER is unset, and that /etc/cups/client.conf is correct.

«Using invalid Host» error message

Try adding ServerAlias * into /etc/cups/cupsd.conf .

Cannot print from LibreOffice

If you can print a test page from the CUPS web interface, but not from LibreOffice, try to install the a2ps package.

Printer output shifted

This seems to be caused by the wrong page size being set in CUPS.

Printer becomes stuck after a problem

When an issue arises during printing, the printer in CUPS may become unresponsive. lpq reports that the printer is not ready , and it can be reactivated using cupsenable . In the CUPS web interface, the printer is shown as Paused, and can be reactivated by resuming the printer.

To automatically have CUPS reactivate the printer, change ErrorPolicy from the default stop-printer to retry-current-job .

Samsung: URF ERROR — Incomplete Session by time out

This error is usually encountered when printing files over the network through IPP to a Samsung printer, and is solved by using the samsung-unified-driver AUR package.

Brother: Printer prints multiple copies

Sometimes the printer will print multiple copies of a document (for instance a MFC-9330CDW printed 10 copies). The solution is to update the printer firmware.

Regular user cannot change properties of the printer or remove certain jobs

If a regular user needs to be able to change the printers properties or manage the printer queue, the user may need to be added to the sys group.

Cannot login into web interface

Check if there is more than one cupsd process running. If this is the case then stop cups.service , kill all processes named cupsd and start cups.service again.

No Suitable Destination Found

If a printer prefers ipps (ipp-secure), Cups will store the printer’s certificate in /etc/cups/printers/ssl. However, these certificates are never removed, even if invalid. There are several ways for a certificate to become invalid, apart from expiring: for example, if you switch from standard, self signed, printer certificates to official SSL-certificates; if your printer software is upgraded and it generates a new certificate; or if a printer is simply changed for a new one with the old name. In any of these situations, Cups will not renew the cached certificate, but will only complain with a rather generic message «no suitable destination found».

Источник

Once I add my network printer in 18.04, it shows :
there was an error during the cups operation ‘client-error-document-format-not-supported’

asked Jun 13, 2018 at 3:56

Pradeep Mishra's user avatar

Legacy (non-modern) printers require printer drivers.

sudo apt-get install printer-driver-all
sudo systemctl restart cups

Also, make sure your printer is being added in Settings > Printers

Ubuntu printers settings

You could also add the printer from the cups web interface at localhost:631.

Under administration click on Find New Printers. If your printer is plugged in you’d find it under the local printers.

Cups add printer

Kulfy's user avatar

Kulfy

17.1k26 gold badges62 silver badges102 bronze badges

answered Oct 31, 2020 at 11:19

Gayan Weerakutti's user avatar

I had the same problem with an Epson LQ-500 on ubuntu 16.04 (and DELL Optiplex 780).
I am not fully satisfied with the present installation which runs slowly (1 page prints in about 5…10mn); at least the test page seems to be correct.
Previous install of ubuntu 16.04 on a different PC was working very well; idem for lubuntu 17 on an old laptop (ACER Aspire 1350).

The parameters listed in /etc/cups/printers.conf are:

...
MakeModel Epson LQ-500 Foomatic/epson (recommended)
DeviceURI parallel:/dev/lp0
...
Type 8433668
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job

Except for the choices of MakeModel and parallel port, all parameters have default values.

I hope this will help.

answered Dec 17, 2018 at 21:43

Dici's user avatar

Интересный эксперимент получился. Я на Windows установил виртуальную машину, а на виртуальной машине поставил Ubuntu 9.10 . Подсоединил принтер к виртуальной машине и тут же принтер определился и стал работать.

Я на радостях стал копировать на флешку все попки cups и всё что там было. Потом подсоединил эту флешку к моему больному Linux и переписал под Рутом все папки cups учитывая все пути. Потом перезагрузил больной Linux.

После перезагрузки ошибка Ошибка сервера CUPS Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’. перестала выскакивать. Теперь при печати пробного листа пичать уходит, но через пару секунд в диспетчере печати печать переходит со статуса «Печать» в статус «Отменён».

Открываю лог и вот что вижу
E [09/Dec/2009:21:12:22 +0300] PID 5120 (/usr/lib/cups/filter/pdftopdf) stopped with status 127!
E [09/Dec/2009:21:12:22 +0300] PID 5121 (/usr/lib/cups/filter/foomatic-rip) stopped with status 22!
E [09/Dec/2009:21:12:22 +0300] PID 5124 (/usr/lib/cups/backend/hp) stopped with status 1!
E [09/Dec/2009:21:12:22 +0300] PID 5117 (/usr/lib/cups/filter/pstopdf) stopped with status 127!

Однако потом всё сломалось. Решил удалить принтер и снова его поставить. Удалить удалил, но теперь принтер не устанавливается, на этапе определения принтера ОПРЕДЕЛЯТОР зависает на веки вечной и вывести его из состояния ступора невозможно.

Переустановил cups и hplip и сейчас посылая страницу на печать, команда уходит и в очереди печати появляется задание. Но после нескольких секунд задание переходит в статус «Остановлен». Вот логи

E [09/Dec/2009:23:37:11 +0300] PID 5456 (/usr/lib/cups/filter/pdftopdf) stopped with status 127!
E [09/Dec/2009:23:37:12 +0300] PID 5455 (/usr/lib/cups/filter/pstopdf) stopped with status 127!
E [09/Dec/2009:23:37:19 +0300] PID 5458 (/usr/lib/cups/filter/hpcups) stopped with status 1!
E [09/Dec/2009:23:37:19 +0300] [Job 9] Job stopped due to filter errors.

Люди добрые на одном из форумов подсказали, читая эти логи, что проблема в postscript-драйвере.

Подскажите postscript-драйвер идёт для каждой модели принтера свой, или postscript-драйвер общий для всех принтеров? Если он общий для всех принтеров, то скорее всего это будет какой то пакет, который можно переустановить и настроить.

Содержание

  1. CUPS (Русский)/Troubleshooting (Русский)
  2. Contents
  3. Введение
  4. Проблемы, возникающие в результате обновлений
  5. CUPS останавливается
  6. Для всех заданий — «остановлено»
  7. Для всех заданий — «Принтер не отвечает»
  8. Версия PPD не совместима с gutenprint
  9. Проблемы с сетью
  10. Не удается найти принтер
  11. Старый сервер CUPS
  12. Общий принтер работает локально, но удаленный компьютер не печатает
  13. Не удается найти файл PPD
  14. USB-принтеры
  15. Конфликт с SANE
  16. Конфликт с usblp
  17. USB autosuspend
  18. Плохие разрешения
  19. Проблемы с HP
  20. CUPS: «/usr/lib/cups/backend/hp failed»
  21. CUPS: «Печать завершена», но принтер не печатает.
  22. CUPS: ‘»foomatic-rip» not available/stopped with status 3’
  23. CUPS: «Filter failed»
  24. Отсутствует ghostscript
  25. Отсутствует foomatic-db
  26. Avahi не включен
  27. Устаревший плагин
  28. Устаревшая конфигурация принтера
  29. CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet
  30. HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие
  31. hp-toolbox: «Unable to communicate with device»
  32. Разрешение проблемы
  33. Виртуальный CDROM у принтеров
  34. Сетевые принтеры
  35. hp-setup просит указать PPD-файл для обнаруженного принтера
  36. hp-setup: «Qt/PyQt 4 initialization failed»
  37. hp-setup: находит принтер автоматически, но сразу после этого сообщает «Unable to communicate with device» при печати тестовой страницы
  38. hp-setup: «KeyError: ‘family-class’»
  39. Другие
  40. Принтер «приостановлен — «Paused»» или «Остановлен» cо статусом «Рендеринг завершен»
  41. Низкий уровень чернил
  42. Завершение печати из-за ошибок авторизации
  43. Unknown supported format: application/postscript
  44. Ошибка задания для печати (Print-Job) client-error-document-format-not-supported
  45. Не удается получить список драйверов принтера
  46. lp: Error — Scheduler Not Responding
  47. Сообщение об ошибке: «Using invalid Host»
  48. Не удается отправить на печать из LibreOffice
  49. Вывод принтера сдвинут
  50. Принтер не работает (приостановлен — «Paused») после ошибки
  51. Samsung: URF ERROR — Incomplete Session by time out
  52. Brother: Принтер печатает несколько копий
  53. Обычный пользователь не может изменять настройки принтера или удалять определенные задания

CUPS (Русский)/Troubleshooting (Русский)

В этой статье рассматриваются все неспецифические (то есть не связанные с каким-либо одним принтером) проблемы CUPS и драйверов принтеров (но не проблемы, связанные с совместным использованием принтеров), включая методы определения точной природы проблемы и решения выявленной проблемы.

Contents

Введение

Наилучший способ борьбы с неисправностями — это выставить ‘LogLevel’ в файле /etc/cups/cupsd.conf на:

А потом посмотреть вывод из файла /var/log/cups/error_log например так:

Символы слева от вывода означают следующее:

  • D=Debug(отладка)
  • E=Error(ошибка)
  • I=Information(информация)
  • И так далее

Следующие файлы также могут быть полезны:

  • /var/log/cups/page_log — каждый раз при успешной печати, пишет новую запись
  • /var/log/cups/access_log — записывает всю активность на cupsd http1.1 сервере

Также, если вы хотите решить свои проблемы, важно понимать, как вообще работает CUPS. Вот краткая информация об этом:

  1. Когда вы жмёте ‘печать’ приложение отправляет .ps-файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS (так происходит в большинстве программ).
  2. CUPS смотрит на PPD-файл (файл описания принтера) и находит, фильтры которые ему нужно использовать для преобразования .ps-файла в файл, который понимает ваш принтер (например, PJL,PCL). Обычно для этого ему требуется ghostscript.
  3. GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps-файл в формат, который понимает принтер.
  4. Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд

Распечатайте документ и посмотрите error_log , чтобы получить более подробное и правильное представление об процессе печати.

Проблемы, возникающие в результате обновлений

Проблемы возникшие после обновления CUPS и сопутствующего ему набора программ

CUPS останавливается

Существует вероятность, что для правильной работы в обновленной версии понадобится новый файл конфигурации. Например, получение сообщения «404 — page not found» при попытке входа в панель управления CUPS через localhost:631.

Для того, чтобы воспользоваться новым конфигом, скопируйте /etc/cups/cupsd.conf.default в /etc/cups/cupsd.conf (при необходимости сделайте резервную копию старого конфига) и, чтобы новые настройки вступили в силу, перезапустите CUPS.

Для всех заданий — «остановлено»

The factual accuracy of this article or section is disputed.

Если для всех отправленных на печать заданий установился статус «остановлено» («stopped»), — удалите принтер и установите его заново. Для этого войдите в веб-интерфейс CUPS, перейдите Принтеры > Удалить Принтер.

Для проверки настроек принтера перейдите во вкладку Принтеры, затем скопируйте отображаемую информацию. Далее нажмите на Администрирование. В выпадающем списке кликните Изменить принтер, перейдите к следующей странице(ам), и так далее.

Для всех заданий — «Принтер не отвечает»

Для сетевых принтеров, поскольку CUPS подключается через URI, необходимо убедиться, что в DNS настроен доступ к принтерам по IP. Например, если принтер подключен следующим образом:

то имя хоста ‘BRN_020554’ должно соответствовать IP принтера, управляемого сервером CUPS. Если используется Avahi, убедитесь, что разрешение имени хоста Avahi работает.

Альтернативно, замените имя хоста, используемое в URI, IP-адресом принтера.

Версия PPD не совместима с gutenprint

И перезагрузите CUPS (будет выведено соответствующее сообщение после установки gutenprint).

Проблемы с сетью

Не удается найти принтер

Даже если CUPS обнаруживает сетевые принтеры, вы все равно можете получить ошибку «Не удается найти принтер» («Unable to locate printer») при попытке распечатать что-либо. Чтобы решить эту проблему, включите .разрешение локального имени хоста Avahi. Для получения дополнительной информации смотрите CUPS (Русский)#Сеть.

Эта проблема может возникать и при использовании файрвола (межсетевой экран, брандмауэр). Возможно, вам придется отключить его или установить корректные правила. Если вы используете system-config-printer для обнаружения сетевых принтеров, тогда он сделает все это автоматически.

Старый сервер CUPS

Начиная с версии CUPS 1.6, клиент по умолчанию использует IPP 2.0. Если сервер использует CUPS version=1.1 , описанной в Таблице 2. Опции URI IPP.

Общий принтер работает локально, но удаленный компьютер не печатает

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

Не удается найти файл PPD

Убедитесь, что Avahi настроен правильно. В частности, проверьте, что nss-mdns установлен и настроен в /etc/nsswitch.conf .

USB-принтеры

Конфликт с SANE

Если у вас также запущен SANE, возможно, что он конфликтует с CUPS. Чтобы исправить это, создайте правило Udev, обозначающее устройство как совпадающее с libsane:

Конфликт с usblp

Доступ к USB-принтерам можно получить двумя способами: модулем ядра usblp и libusb. Первый — это классический способ. Это просто: данные отправляются на принтер, записывая их в файл устройства в виде простого последовательного потока данных. Чтение одного и того же файла устройства позволяет использовать двунаправленный доступ, по крайней мере, для таких вещей, как считывание уровней чернил, статуса или информации о возможностях принтера (PJL). Он работает очень хорошо для простых принтеров, но для многофункциональных устройств (принтер/сканер) он не подходит, и производители, такие как HP, поставляют свои собственные бэкенды. Источник: здесь.

Если у вас возникли проблемы с работой USB-принтера, вы можете попробовать запрет загрузки для модуля ядра usblp :

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

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

Если вы используете usblp , вывод должен указывать на то, что принтер был обнаружен следующим образом:

Если вы запретили загрузку usblp , вы увидите что-то вроде:

USB autosuspend

Ядро Linux автоматически приостанавливает USB-устройства, когда есть поддержка драйверов и устройства не используются. Это может сэкономить электроэнергию, но некоторые USB-принтеры считают, что они не подключены, когда ядро приостанавливает USB-порт, предотвращая печать. Это можно устранить, отключив autosuspend для конкретного устройства, для получения дополнительной информации смотрите Power management#USB autosuspend.

Плохие разрешения

Проверьте разрешения USB-порта принтера. Получите номер шины (BUSID) и устройства (DEVID) от lsusb :

Проверьте владельца, просмотрев devfs:

Демон cups запускается от пользователя «cups» и относится к группе «lp», поэтому либо этому пользователю, либо группе требуется доступ на чтение и запись в USB-устройство. Если вы считаете, что разрешения выглядят неправильно, вы можете временно изменить группу и разрешение:

Затем проверьте, может ли cups теперь видеть устройство USB правильно.

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

После редактирования перезагрузите правила udev этой командой:

Каждая система может отличаться, поэтому обратитесь к вики-странице udev (Русский)#Список атрибутов устройства.

Проблемы с HP

CUPS: «/usr/lib/cups/backend/hp failed»

The factual accuracy of this article or section is disputed.

Убедитесь, что dbus установлен и запущен. Если ошибка повторяется, попробуйте запустить avahi-daemon.

Попробуйте добавить принтер в качестве сетевого принтера, используя протокол http:// .

CUPS: «Печать завершена», но принтер не печатает.

Это происходит на принтерах HP, когда вы выбираете (старый) драйвер hpijs (например, для Deskjet D1600 series). Вместо этого используйте драйвер hpcups.

Некоторые принтеры HP требуют, чтобы их прошивка загружалась с компьютера при каждом включении принтера. Вы можете столкнуться с этой проблемой, если есть проблема с udev (или аналогом), и правило загрузки прошивки никогда не запускается. В качестве обходного пути вы можете вручную загрузить прошивку на принтер. Убедитесь, что принтер подключен и включен, затем выполните

CUPS: ‘»foomatic-rip» not available/stopped with status 3’

Если, во время использования принтера HP, задания появляются в очереди, но все завершаются со статусом ‘остановлен’ (‘stopped’), а в /var/log/cups/error_log возникает одно из следующих сообщений об ошибках:

CUPS: «Filter failed»

Ошибка «filter failed» может быть вызвана некоторым количеством причин. Журнал ошибок CUPS (по умолчанию /var/log/cups/error_log ) должен записывать, какой фильтр не удалось загрузить и почему.

Отсутствует ghostscript

Установите ghostscript ( /usr/lib/cups/filter/gstoraster нуждается в его запуске).

Отсутствует foomatic-db

Установите foomatic-db и foomatic-db-ppds . Это помогает в некоторых случаях.

Avahi не включен

Устаревший плагин

Эта ошибка может указывать на то, что плагин устарел (версия несовместима) и может произойти после обновления системы, возможно, появится сообщение Plugin error в журнале (логе). Если вы установили hplip-plugin AUR , вам нужно обновить пакет, иначе перезапустите hp-setup -i , чтобы установить последнюю версию плагина.

Устаревшая конфигурация принтера

Начиная с hplip-plugin AUR версии 3.17.11 hpijs больше не доступен. Если у вас есть принтеры, использующие hpijs, они не будут печатать. Необходимо перенастроить их и выбрать вместо этого новый драйвер hpcups.

Вы можете проверить, если это ваш случай, посмотрев в error_log cups`а:

CUPS: печатает только пустую страницу и страницу с сообщением об ошибке на HP LaserJet

This article or section is out of date.

Существует ошибка, которая приводит к сбою CUPS при печати изображений на HP LaserJet (в моем случае 3380). Ошибки были зафиксированы и исправлены в Ubuntu. Первая страница пуста, вторая страница содержит следующее сообщение об ошибке:

Чтобы устранить проблему, выполните следующую команду как суперпользователь (root):

HPLIP 3.13: Плагин установлен, но HP Device Manager жалуется на его отсутствие

Возможно, проблема связана с изменением прав доступа файла, которое было внесено в /var/lib/hp/hplip.state . Чтобы исправить проблему, достаточно простых команд chmod 644 /var/lib/hp/hplip.state и chmod 755 /var/lib/hp . Для получения дополнительной информации, пожалуйста, прочитайте эту ссылку.

hp-toolbox: «Unable to communicate with device»

Разрешение проблемы

The factual accuracy of this article or section is disputed.

Может потребоваться добавить пользователя в группы lp и sys .

Виртуальный CDROM у принтеров

Это также может быть вызвано принтерами, такими как P1102, которые предоставляют виртуальный привод CD-ROM для драйверов MS Windows. Появляется lp dev, а затем исчезает. В этом случае попробуйте пакеты usb-modeswitch и usb-modeswitch-data, что позволяет отключить «Smart Drive» (правила udev, включенные в указанные пакеты).

Сетевые принтеры

Это также может происходить с сетевыми принтерами, использующими динамические имена хостов, если avahi-daemon не запущен. Другая причина заключается в том, что hp-setup не удалось найти принтер, потому что IP-адрес принтера изменился из-за DHCP. Если это так, подумайте о добавлении резервирования DHCP для принтера в конфигурации сервера DHCP.

hp-setup просит указать PPD-файл для обнаруженного принтера

Кроме того, при выборе файла PPD в графическом режиме hp-setup поле не обновляется и сообщение об ошибке не отображается.

Или, если вы используете интерактивный (консольный) режим, можно столкнуться с чем-то похожим на это даже при введении правильного пути к файлу ppd:

Решение заключается в установке и запуске cups перед запуском hp-setup .

hp-setup: «Qt/PyQt 4 initialization failed»

Установите пакет python-pyqt4 AUR , который дополнительно требуется (optdepend) для hplip . Альтернативно вы можете запустить hp-setup с интерфейсом командной строки с помощью флага -i .

hp-setup: находит принтер автоматически, но сразу после этого сообщает «Unable to communicate with device» при печати тестовой страницы

Это, по крайней мере, происходит с hplip 3.13.5-2 у принтера HP Officejet 6500A через локальное сетевое соединение. Чтобы решить проблему, укажите IP-адрес принтера HP для hp-setup, чтобы обнаружить принтер.

hp-setup: «KeyError: ‘family-class’»

Если при добавлении принтера в пользовательском интерфейсе он не работает, или вы получили KeyError: ‘family-class’ от hp-setup , возможно потребуется обновить вручную /usr/share/hplip/data/models/models.dat .

Проверьте определен ли раздел family-class=Undefined для вашего принтера. Если нет, добавьте это:

Другие

Принтер «приостановлен — «Paused»» или «Остановлен» cо статусом «Рендеринг завершен»

Низкий уровень чернил

При низком уровне чернил некоторые принтеры зависают со статусом «Рендеринг завершен» («Rendering completed»), и, если это сетевой принтер, принтер может даже стать недоступным для CUPS, несмотря на то, что он правильно подключен к сети. Замена картриджа (картриджей) с низким уровнем чернил в этом случае вернет принтер в статус «Готов» («Ready») и, если он — сетевой принтер, то он станет снова доступным для CUPS.

Завершение печати из-за ошибок авторизации

Если удаленный принтер запрашивает аутентификацию, CUPS автоматически добавит директиву AuthInfoRequired для принтера в /etc/cups/printers.conf . Однако некоторые графические приложения (например, некоторые версии LibreOffice [1]) не имеют возможности запрашивать учетные данные, поэтому печать завершилась с ошибкой. Чтобы исправить это, укажите требуемое имя пользователя и пароль в URI. Для получения дополнительной информации смотрите [2], [3].

Unknown supported format: application/postscript

(Не найдена поддержка формата: application/postscript)

в /etc/cups/mime.convs и:

Ошибка задания для печати (Print-Job) client-error-document-format-not-supported

Попробуйте установить пакет foomatic и используйте драйвер foomatic.

Не удается получить список драйверов принтера

(Также применимо к ошибке «-1 не поддерживается!»)

Попробуйте удалить драйверы Foomatic или обратитесь к CUPS/Принтероспецифичные проблемы#HPLIP для обходного пути.

lp: Error — Scheduler Not Responding

Если вы получите эту ошибку, убедитесь, что CUPS запущен, переменная окружения CUPS_SERVER не установлена и /etc/cups/client.conf корректный.

Сообщение об ошибке: «Using invalid Host»

Попробуйте добавить ServerAlias * в /etc/cups/cupsd.conf .

Не удается отправить на печать из LibreOffice

Если вы можете распечатать тестовую страницу с веб-интерфейса CUPS, но не из LibreOffice, попробуйте установить пакет a2ps .

Вывод принтера сдвинут

По-видимому, это связано с неправильным размером страницы, установленным в CUPS.

Принтер не работает (приостановлен — «Paused») после ошибки

Когда во время печати возникает ошибка, принтер в CUPS может перестать отвечать на запросы. lpq сообщает, что принтер is not ready (не готов), его можно активировать с помощью cupsenable . В веб-интерфейсе CUPS принтер отображается как приостановлен — «Paused», его можно возобновить с помощью Восстановить печать.

Чтобы CUPS автоматически активировал принтер, измените политику ошибок с стандартной настройки Останавливать принтер (stop-printer) на Повторить задание (retry-this-job).

Samsung: URF ERROR — Incomplete Session by time out

Эта ошибка обычно возникает при печати файлов по сети через IPP на принтерах Samsung и решается с помощью пакета samsung-unified-driver AUR .

Brother: Принтер печатает несколько копий

Иногда принтер печатает несколько копий документа (например, MFC-9330CDW напечатал 10 копий). Решение заключается в обновлении прошивки принтера.

Обычный пользователь не может изменять настройки принтера или удалять определенные задания

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

Источник

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Comments

@michaelrsweet

Version: 1.7.0
CUPS.org User: theking2

After following the steps in http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_prn1a.html and installed all drivers print jobs are canceled.

This is in the /var/log/cups/access_log for each job
localhost — — [02/Feb/2014:21:23:40 +0100] «POST /printers/HL3040CN HTTP/1.1» 200 216 Create-Job successful-ok
localhost — — [02/Feb/2014:21:23:40 +0100] «POST /printers/HL3040CN HTTP/1.1» 200 1479 Send-Document client-error-document-format-not-supported
localhost — — [02/Feb/2014:21:23:40 +0100] «POST /jobs/ HTTP/1.1» 200 169 Cancel-Job successful-ok

@michaelrsweet



Copy link


Collaborator


Author

CUPS.org User: mike

We do not support or develop the software/driver you are using. Please contact the developer for assistance.

@michaelrsweet



Copy link


Collaborator


Author

CUPS.org User: h.blischke

I suppose it is due to your configuragen.
Brother’s cupswrapper installation script generates a PPD that contains a
*cupsFilter
line that demands application/vnd.cups-postscript as the input format, and your
filter configuration seems not to provide a path to this format as en endpoint.

@michaelrsweet



Copy link


Collaborator


Author

1 participant

@michaelrsweet

Интересный эксперимент получился. Я на Windows установил виртуальную машину, а на виртуальной машине поставил Ubuntu 9.10 . Подсоединил принтер к виртуальной машине и тут же принтер определился и стал работать.

Я на радостях стал копировать на флешку все попки cups и всё что там было. Потом подсоединил эту флешку к моему больному Linux и переписал под Рутом все папки cups учитывая все пути. Потом перезагрузил больной Linux.

После перезагрузки ошибка Ошибка сервера CUPS Произошла ошибка при операции CUPS: ‘client-error-document-format-not-supported’. перестала выскакивать. Теперь при печати пробного листа пичать уходит, но через пару секунд в диспетчере печати печать переходит со статуса «Печать» в статус «Отменён».

Открываю лог и вот что вижу
E [09/Dec/2009:21:12:22 +0300] PID 5120 (/usr/lib/cups/filter/pdftopdf) stopped with status 127!
E [09/Dec/2009:21:12:22 +0300] PID 5121 (/usr/lib/cups/filter/foomatic-rip) stopped with status 22!
E [09/Dec/2009:21:12:22 +0300] PID 5124 (/usr/lib/cups/backend/hp) stopped with status 1!
E [09/Dec/2009:21:12:22 +0300] PID 5117 (/usr/lib/cups/filter/pstopdf) stopped with status 127!

Однако потом всё сломалось. Решил удалить принтер и снова его поставить. Удалить удалил, но теперь принтер не устанавливается, на этапе определения принтера ОПРЕДЕЛЯТОР зависает на веки вечной и вывести его из состояния ступора невозможно.

Переустановил cups и hplip и сейчас посылая страницу на печать, команда уходит и в очереди печати появляется задание. Но после нескольких секунд задание переходит в статус «Остановлен». Вот логи

E [09/Dec/2009:23:37:11 +0300] PID 5456 (/usr/lib/cups/filter/pdftopdf) stopped with status 127!
E [09/Dec/2009:23:37:12 +0300] PID 5455 (/usr/lib/cups/filter/pstopdf) stopped with status 127!
E [09/Dec/2009:23:37:19 +0300] PID 5458 (/usr/lib/cups/filter/hpcups) stopped with status 1!
E [09/Dec/2009:23:37:19 +0300] [Job 9] Job stopped due to filter errors.

Люди добрые на одном из форумов подсказали, читая эти логи, что проблема в postscript-драйвере.

Подскажите postscript-драйвер идёт для каждой модели принтера свой, или postscript-драйвер общий для всех принтеров? Если он общий для всех принтеров, то скорее всего это будет какой то пакет, который можно переустановить и настроить.

Once I add my network printer in 18.04, it shows :
there was an error during the cups operation ‘client-error-document-format-not-supported’

asked Jun 13, 2018 at 3:56

Pradeep Mishra's user avatar

Legacy (non-modern) printers require printer drivers.

sudo apt-get install printer-driver-all
sudo systemctl restart cups

Also, make sure your printer is being added in Settings > Printers

Ubuntu printers settings

You could also add the printer from the cups web interface at localhost:631.

Under administration click on Find New Printers. If your printer is plugged in you’d find it under the local printers.

Cups add printer

Kulfy's user avatar

Kulfy

17.3k26 gold badges63 silver badges102 bronze badges

answered Oct 31, 2020 at 11:19

Gayan Weerakutti's user avatar

I had the same problem with an Epson LQ-500 on ubuntu 16.04 (and DELL Optiplex 780).
I am not fully satisfied with the present installation which runs slowly (1 page prints in about 5…10mn); at least the test page seems to be correct.
Previous install of ubuntu 16.04 on a different PC was working very well; idem for lubuntu 17 on an old laptop (ACER Aspire 1350).

The parameters listed in /etc/cups/printers.conf are:

...
MakeModel Epson LQ-500 Foomatic/epson (recommended)
DeviceURI parallel:/dev/lp0
...
Type 8433668
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job

Except for the choices of MakeModel and parallel port, all parameters have default values.

I hope this will help.

answered Dec 17, 2018 at 21:43

Dici's user avatar

У меня была такая же проблема с Epson LQ-500 на Ubuntu 16.04 (и DELL Optiplex 780). Я не полностью удовлетворен текущей установкой, которая работает медленно (1 страница печатается приблизительно через 5…10 минут); по крайней мере, тестовая страница кажется правильной. Предыдущая установка Ubuntu 16.04 на другом ПК работала очень хорошо; То же самое для lubuntu 17 на старом ноутбуке (ACER Aspire 1350).

Параметры, перечисленные в /etc/cups/printers.conf:

...
MakeModel Epson LQ-500 Foomatic/epson (recommended)
DeviceURI parallel:/dev/lp0
...
Type 8433668
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job

За исключением вариантов MakeModel и параллельного порта, все параметры имеют значения по умолчанию.

Я надеюсь, это поможет.

Понравилась статья? Поделить с друзьями:
  • Ошибка операции create database или alter database
  • Ошибка операции 0x00000002 windows не удается подключиться к принтеру
  • Ошибка оператора принтер canon ip4300
  • Ошибка оператора обратитесь к оператору
  • Ошибка оператора нажмите кнопку возобновить