Linux настройка печати принтера

Содержание
  1. Linux.yaroslavl.ru
  2. Печать на локальной машине, с использованием CUPS
  3. Установка CUPS и foomaticInstalling CUPS and foomatic
  4. Редактирование /etc/make.conf
  5. Установка необходимых пакетов
  6. Установка модулей ядра
  7. Загрузка USB модулей
  8. Проверка сообщений ядра
  9. Вывод /var/log/messages
  10. Тест принтера с помощью cat
  11. Специализированные драйвера принтеров
  12. Установка hpijs
  13. Настройка файлов PPD
  14. Запуск cupsd
  15. Общее использование foomatic
  16. Использование foomatic с Stylus Color 980
  17. Настройка CUPS
  18. Добавление CUPS в default runlevel, и запуск CUPS
  19. Настройка GIMP, OpenOffice.org 1.0, и Abiword для печати с использованием CUPS
  20. Установка gimp-print-cups
  21. OpenOffice.org1.0
  22. Abiword
  23. Сетевая печать с использованием CUPS и SAMBA
  24. Печать на Windows принтере, с Linux машины
  25. Установка SAMBA
  26. Использование foomatic с Samba
  27. Использование Linux как Windows совместимый сервер печати
  28. Пример smb.conf
  29. Сервер печати на Linux
  30. Как система печати Linux обрабатывает файлы
  31. Управление печатью в Linux
  32. Подключение и настройка принтеров в Linux
  33. Настройка безопасности CUPS
  34. Особенности использования Веб интерфейса
  35. Устранение неполадок в системе печати
  36. Файлы и каталоги CUPS

Linux.yaroslavl.ru

Авторы:
John P. Davis
Phil Bordelon

Редактор: Wesley Leggette

Всеобъемлющее руководство по настройке печати в Gentoo Linux. Это руководство охватывает локальную и сетевую печать.

18 February 2003

Печать на локальной машине, с использованием CUPS


Установка CUPS и foomaticInstalling CUPS and foomatic

Настройка печати в Gentoo Linux сравнительно безболезненная задача, Благодаря нескольким замечательным программам, таким как CUPS (Common Unix Printing System) и foomatic. Обе эти программы легко доступны из дерева Портэджей, и очень легки в установке для конечных пользователей.

Знайте, что cups кросс-десктопная система, т.е. следуя этим инструкциям Вы можете настроить печать и в GNOME и в KDE. Существуют и другие настройки, такие как KDE’s print setup, но я уверен, что CUPS проще в настройке, и более масштабируемая.

Перед установкой CUPS, будет правильно добавить необходимые флаги для USE в файл /etc/make.conf

Редактирование /etc/make.conf

Добавьте cups и usb (если ваш принтер подключён к USB) к вашему листу переменных USE.

Для получения более полной информации о переменной USE, читайте USE HOWTO.

Установка необходимых пакетов


Установка модулей ядра

В зависимости от типа подключения принтера, необходимо активировать соответствующий параллельный или USB порт в ядре.

Для включения поддержки USB принтера, зайдите в USB support и включите Support for USB и USB Printer support. Оба этих модуля будут установлены как usbcore.o и printer.o в директории, где хранятся модули. Я советую использовать модули, т.к. при этом нет необходимости перезагружать компьютер.

Если Вы не уверенны как компилировать ядро, официальный Linux Kernel-HOWTO находится здесь. Убедитесь, что вы разобрались, как компилировать и устанавливать новые модули без пересборки ядра и перезагрузки компьютера. Это действительно экономит время.

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

Загрузка USB модулей

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

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

Проверка сообщений ядра

Вы должны увидеть что то вроде этого:

Вывод /var/log/messages

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

Перед тем как настраивать принтер с CUPS, проверим его простой низкоуровневой командой.

Тест принтера с помощью cat

Для принтеров с параллельным портом:

Специализированные драйвера принтеров

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

Для большинства принтеров кроме HP Inkjets, Вы можете использовать стандартные драйвера принтера Linux. Посетите linuxprinting.org, базу данных по поддержке принтеров, для нахождения информации по вашему конкретному принтеру. Обязательно прочтите документацию, поставляющуюся с любым драйвером, который вы скачаете, на предмет информации об установке и лицензии.

Если Вы используете, притер HP Inkjet, необходимо установить драйвера для принтера hpijs. Этот драйвер управляет всеми необходимыми для работы принтера интерпретациями Postscript. hpijs предназначены только для принтеров HP Inkjet, но доступны из Портэджей для Вашего удобства. Документация от HP для драйверов hpijs расположена в /usr/share/doc/hpijs— . Автор настоятельно рекомендует прочесть её.

Установка hpijs

Если Вы используете HP Laserjet, поддержка уже доступна через GNOME printing system. Если Вы используете не HP Inkjet printer, Вам не надо устанавливать эти специализированные драйвера.

Настройка файлов PPD

Теперь время приступить к настройке принтера и CUPS. Для корректной интерпретации Вашим принтером языка Postscipt, CUPS необходим PPD (Printer Postscript Definition) файл. Самый простой способ для создания PPD, это использовать foomatic.

Три составляющие информации нужны для корректной работы нижеследующей команды; Вам нужен Ваш printer ID, тип порта к которому подключен принтер, и драйвер для Вашего принтера (это был бы hpijs если бы Вам была необходима установка специальных драйверов как описано выше). printer ID и драйвера могут быть grep’нуты из базы данных foomatic (тип порта например /dev/lp0 или /dev/usb/lp0).

Перед использованием foomatic-configure, не забудьте запустить cupsdc .

Запуск cupsd


Общее использование foomatic

Теперь, более конкретный пример. Следующий код предполагает у Вас наличия принтера Epson Stylus Color 980. Конечно, Вы должны заменить его на свой для вашей модели принтера.

Использование foomatic с Stylus Color 980

Запомните, Вы должны использовать /dev/usb/lp0. если у Вас USB принтер.

Если у Вас возникли проблемы, обратитесь к документации на foomatic, расположенной тут и посетите linuxprinting.org для получения более полной информации.

Настройка CUPS

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

CUPS имеет встроенный файл конфигурации для демона, который может, но не обязательно, быть модифицирован. Возможно вы захотите взглянуть на него, он называется /etc/cups/cupsd.conf.

Добавление CUPS в default runlevel, и запуск CUPS

CUPS daemon запущен, откройте Ваш броузер и зайдите сюда.

Надеюсь, что Вы увидите приветствие главной странице настройки. Нажмите на administration вверху страницы, и введите Ваш пароль root, или любого пользователя принадлежащего к группе lp . После аутентификации, нажмите на Add Printer в разделе printers . Введите требуемое имя, описание и расположение Вашего принтера. Вы должны выбрать имя принтера точно такое же как имя очереди которое Вы указали для foomatic. Теперь Вы должны выбрать устройство, к которому подключен Ваш принтер. Выберете тип принтера. На следующей странице выберите Ваш принтер из списка.

Читайте также:  Idrac service module linux

Конфигурация закончена! Нажмите на имя своего принтера, и попробуйте напечатать тестовую страницу. Вуаля, настройка Вашего принтера завершена!

Если принтер не работает по каким либо причинам, зайдите в директорию где хранятся логи CUPS, и посмотрите в файл error_log .

Настройка GIMP, OpenOffice.org 1.0, и Abiword для печати с использованием CUPS

Перед началом, необходимо установить расширения для печати CUPS в Gimp’s CUPS.

Установка gimp-print-cups

Теперь, откройте GIMP, и откройте картинку, или просто пустой лист, это не имеет значения, т.к. нам необходим только пункт меню File . Кликнете правой клавишей на изображении и выберете File/Print . Должен появиться диалог для printing, когда он появится, кликнете на new printer. Если Вашего принтера нет в списке, введите имя своего принтера, после чего выберете тип своего принтера. Ok, теперь, Вы установили печать из GIMP. Поиграйтесь с настройками и получите удовольствие.

OpenOffice.org1.0

Печать из OpenOffice.org1.0 не более сложна. Зайдите в

OpenOffice.org1.0/program. и запустите spadmin. Создайте новый принтер, и в окне Choose a Driver , нажмите на import и выберете расположение PPD вашего принтера, он должен быть в /etc/cups/ppd

. Используйте команды принтера по умолчанию, назовите принтер, поставьте его принтером по умолчанию, и всё готово! Запустите OpenOffice.org1.0 и перейдите в экран печати, выберете свой принтер. Напечатайте тестовую страницу, и всё готово.

Abiword

Abiword вызывает «segfaults» и «crashes» с CUPS-1.1.15-r2. Рекомендуется вернуться к версии .14 как к возможному решению проблемы.

TODO: добавить поддержку Abiword.

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

Сетевая печать с использованием CUPS и SAMBA


Печать на Windows принтере, с Linux машины

Первое, SAMBA должна быть установлена, для работы следующих двух опций сетевой печати.

Установка SAMBA

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

Первое, воспользуемся foomatic для создания PPD файла для удалённого принтера. Не забудьте проверить совместимость Вашего принтера с Linux по базе данных linuxprinting.org. Теперь, скажем foomatic где и что за принтер, и переместим сгенерированный PPD в правильное место.

Использование foomatic с Samba

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

Теперь, направьте свой броузера сюда и вызовете конфигурационный GUI CUPS. Проделайте шаги по добавлению принтера, но на этот раз, на вопрос о порте принтера, введите smb://user:password@server/share . Это укажет CUPS путь к принтеру на Windows машине.

Использование Linux как Windows совместимый сервер печати

На Linux можно построить замечательный сервер печати, вообще то, на нём можно отлично построить любой сервер. Первый шаг, это редактирование файла /etc/samba/smb.conf для подгона ваших установок. Файл smb.conf содержит все установки, для того, что бы Ваша Linux машина выглядела как Windows NT server для любых Windows машин. Я включил очень полезный пример smb.conf ниже. Отредактируйте, если надо, для подгонки под ваше сетевое окружение.

Пример smb.conf

Теперь SAMBA настроена, перезапустите samba, идите к Windows машине и установите сетевой принтер. Проще простого, а?

Источник

Сервер печати на Linux

Прекрасная статья с не менее прекрасного сайта о операционной системе Linux: http://www.k-max.name/linux/server-pechati-na-linux-common-unix-printing-system/

Очень рекомендую к прочтению статью и сайт автора 🙂

Доброго времени, читатели моего блога и гости. Сегодня хочу сделать небольшую заметку о системе печати Linux, чтобы ввести в курс дела и подготовить вас к следующей статье о сервере печати SAMBA.

Итак, исторически в Linux было 2 системы печати LPRng и BSD LPD. Данные системы постепенно устаревают и на смену им приходит система печати CUPS, которая разработана как замена вышеуказанных систем и возможности которой гораздо шире. При использовании GUI интерфейса GNOME, KDE или другого, управление принтерами с помощью CUPSосуществляется не сложнее, чем в Windows. В статье я же сделаю упор на работу в консольном режиме и GUI инструменты рассматривать практически не буду (клавиши Ctrl+P (печать в GUI) есть на всех клавиатурах и работают одинаково как в Windows, так и в Linux ). Отмечу только, что при использовании графической оболочки, запускаются те же команды, что мы рассмотрим далее.

Как система печати Linux обрабатывает файлы

Все мы знаем, что когда печать работает без перебоев, то отправив на печать какой-либо файл о нем можно забыть, пока листы не выйдут на принтере. Но если печать «поломалась», то необходимо понимать принцип работы, чтобы исправить проблему.

В Linux только пользователь root имеет возможность прямого доступа к устройствам (в нашем случае — к принтеру), остальным пользователям операционная система не дает возможности обращаться напрямую к физическим устройствам, чтобы избежать появления конфликтных ситуаций. Вместо этого, утилиты обращаются к фоновым системным процессам, которые ставят задания в очередь на печать. Кроме всего прочего, данные процессы выполняют преобразование содержимого исходных файлов, подготавливая его к выводу на определенный принтер. Для этого используются язык принтера и протоколы обмена, на основании которых настраивается разрешение печати, формируются страницы, если необходимо, убираются/добавляются колонтитулы, нумеруются страницы.

Система печати Linux находится под контролем демона cupsd, который обладает всеми необходимыми привилегиями, чтобы обращаться к принтерам от имени пользователя. Данный демон автоматически загружается при запуске Linux и настраивает систему для корректной работы печати. Все необходимые параметры демон берет из каталога /etc/cups.

В Linux, где установлен CUPS, для печати используются два основных метода. В основе первого лежат команды lpr и lp (в более новых версиях CUPS). Которые в качестве аргумента принимают имя печатаемого файла и отправляют его на печать на принтер по умолчанию. Данные команды являются «мостиком» ко второму способу печати. В основевторого способа лежат обращения к системным вызовам CUPS. Приложения, использующие данный метод могут не только посылать cupsd информацию, но и получать от демона информацию, о возможностях принтера. В ответ на такой запрос, CUPS возвращает приложению файл в формате PPD (PostScript Printer Definition — описание принтера PostScript). Данные файлы описывают возможности, которыми обладают принтеры (размер страницы, разрешение, ориентация и т.п.). Файлы PPD являются ключевыми компонентами впакете драйверов для принтеров. Для принтеров, которые не поддерживают язык PostScript, предоставляются PPD-файлы, описывающие возможности через GhostScript.

Совершенно не важно, поддерживает приложение CUPS или нет — после того, как демон cupsd примет задание печати, он поместит его в каталог буфера печати — спулер (обычно —/var/spool/cups) вместе с файлом, описывающим данное задание. Далее cupsd сортирует список заданий и отправляет на принтер одно за другим.

Читайте также:  Svchost exe очень много процессов windows

Управление печатью в Linux

Система печати в Linux довольно сложна и настройка обычно происходит либо очень просто (потому что CUPS все сам обнаружит и настроит), либо очень сложно (к примеру попробуйте быстро заставить работать принтер Canon LBP-810 с Linux). Работа печати в Linux основана на нескольких различных пакетах. Основной — это пакет cups, содержащий демон печати. В большинстве дистрибутивов имеется пакет cups в репозитории. Право выбора, каким образом устанавливать ПО в Linux оставляю вам. Я установил так: apt-get install cups. Данный пакет отлично подхватывает все необходимые зависимости.

Давайте немного разберемся, что же такое PostScript, а что такое GhostScript? Как показывает практика, приложения Linux и UNIX в большинстве случаев генерируют на выходе файлы двух форматов:

Простой текст

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

PostScript

Язык Adobe PostScript — это один из многих языков принтеров. Большинство приложений, использующих сложное форматирование на выходе всегда создают файл формата PostScript.

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

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

Стандартная установка CUPS поддерживает довольно узкий спектр принтеров (хотя, это довольно спорный момент ). Обычно, это модели с поддержкой PostScript и принтеры компаний HP и Epson. Если принтер автоматически не определился, то необходимо посетить сайт производителя принтера для получения пакета драйверов и инструкций об установке принтера в системе Linux.

Подключение и настройка принтеров в Linux

Прежде всего, подключение и настройка заключается в настройке аппаратных средств. То есть необходимо убедиться, что принтер физически соединен с компьютером и убедиться в исправности принтера и соединительных проводов. Проще всего настроить печать в Linux через принтер который совместим с Linux. Лучший признак совместимости с Linux — этоналичие поддержки языка PostScript в принтере. Иногда, производители любят заявлять о поддержке PostScript ложно. Под словом «Ложно» необходимо понимать то, что поддержка PostScript реализована не в самом принтере, а в драйверах, поставляемых к принтеру, которые скорее всего рассчитаны на ОС Windows. Примеров можно привести кучу: принтеры компании Canon серии LBP, модели 810, 1120, принтеры компании HP серии LJ 10xx. Чтобы убедиться в поддержке принтера Linux, можно сходить сюда: http://www.linuxfoundation.org/collaborate/workgroups/openprinting/database/databaseintro. На данном сайте можно так же скачать файлы PPD для вашего принтера.

Для подключения принтеров существует несколько интерфейсов, таких как: USB, Ethernet, LPT и COM (последний безбожно устарел). Данным интерфейсам соответствуют устройстваLPT/dev/lp*, COM/dev/ttyS* (вместо звездочек, естественно — цифра, обозначающая номер порта, к которому подключено устройство), для взаимодействия с USB используется дерево каталогов /proc/bus/usb, для Ethernet, естественно — IP.

Прежде чем настроить службы печати в Linux, необходимо убедиться, что соединение с принтером действительно установлено. Наверное, лучше всего это проверить из операционной системы windows, если она у вас установлена 2ой системой. Если нет такой возможности, то давайте попробуем обнаружить наш принетр средствами Linux. Если принтер подключен к LPT, либо COM, то можно выполнить команду для LPT: cat /etc/fstab > | /dev/lp0 или для com: cat /etc/fstab > | /dev/ttyS0. При этом, на устройстве в лучшем случае должно напечататься содержимое файла, в худшем — мигнуть индикаторы состояния. Если используется порт USB, то можно проверить подключение устройства с помощью командыlsusb, вывод которой должен содержать маркировку принтера. Для Ethetnet соединения, думаю достаточно проверить доступность IP принтера командой ping.

Настройка безопасности CUPS

В отличии от старых систем LPD, управлять системой печати CUPS удобнее через Web. Однако, по умолчанию, настройка доступа к web интерфейсу может быть настроена не корректно. Некоторые дистрибутивы предоставляют свои инструменты управления CUPS. Все настройки CUPS хранятся в файле /etc/cups/cupsd.conf. Данный файл смоделирован по образу файла Веб сервера Apache. Данному веб серверу я обязательно посвящу обзор. Файл конфигурации cupsd.conf начинается с ряда глобальных параметров директив, которые оформлены в виде пар имя — значение. Для примера, чтобы изменить имя сервера, отправляемое другим системам, необходимо ввести директиву:

Данная строка определяет имя сервера как my.printserver.local. Файл конфигурации обладает огромным количеством директив, описание которых выходит далеко за рамки данной статьи. К сожалению, на русском языке я так и не нашел полного описания конфигурационного файла. Могу сказать одно — полный пакет документации можно будет почитать на английском прямо из настроенного веб интерфейса. А так же, документация по конфигурационному файлу доступна тут. Приведу Вам начало своего конфигурационного файла, содержащего глобальные директивы:

Давайте разберем каждый параметр.Как уже упоминалось выше, ServerName указывает имя сервера печати. LogLevel указывает подробность журналирования (по умолчанию при установке параметр равен info, если возникли какие-то проблемы с CUPS, а в протоколе нет ничего информативного, можно поднять уровень до максимального — debug2), Portуказывает на каком порту будет доступен веб-интерфейс, Listen позволяет указать на каком IP адресе будет доступен веб-интерфейс, а так же прослушиваемый сокет.

Параметры, начинающиеся на Browsing требуют отдельного разговора, они задают настройки «просмотра». В данном случае, под термином просмотр необходимо понимать возможность CUPS обнаруживать принтеры в сети. Данная возможность поддерживается на уровне протокола IPP. Обнаружение происходит посредством широковещательных рассылок, что при большом количестве серверов CUPS или при частом отключении/подключении принтеров может порождать дополнительную нагрузку на сеть. Так же, включение просмотра влечет за собой определенное бремя безопасности. Например, систему настроенную на автоматический поиск легко обмануть, предоставив поддельную информацию о принтерах, а при наличии недочетов в коде CUPS это может привести к негативным последствиям. Давайте разберем указанные параметры:

BrowseAllow и BrowseDeny

Указывают CUPS на стороне клиента адреса, от которых может приниматься или отвергаться, соответственно, информация о принтерах. Формат директив соответствует директивам Allow и Deny. В качестве аргумента для данной директивы может быть как отдельный IP, так и подсеть в формате 10.0.0.0/24 или 10.0.0.0/255.255.255.0 или 10.0.0.0-10.0.0.255, так и значение @LOCAL — обозначающее локальную сеть, а так же имена хостов. Возможно использование нескольких данных директив.

Browsing

Указывает CUPS предоставлять свои серверы в общий доступ, либо нет. Значения может принимать On или Off соответственно.

BrowseAddress

Аналогична BrowseAllow. за исключением того, что она задает КОМУ посылать пакеты, а не от кого принимать.

Далее в конфигурационном файле указана директива DefaultAuthTape, которая указывает механизм аутентификации, который будет использоваться для организации доступа по умолчанию. Basic — указывает использовать логины/пароли от локальной системы. None — указывает не использовать аутентификацию. При указании параметра Digest все пароли будут передаваться в зашифрованном виде, но тогда необходимо создать пользователей CUPS с помощью команды lppasswd, пользователи будут добавлены в файл/etc/cups/passwd.md5.

Существует так же директива AuthClass, которая не присутствует в моем конфигурационном файле. Данная директива определяет, какие группы пользователей могут иметь доступ к подсистеме. Может принимать значения: Anonymous, User, System, Group. Параметр Anonymous указывает, что аутентификация производиться не должна. Параметр User говорит, что любой пользователь системы, корректно указавший имя/пароль может иметь доступ. System — говорит, что доступ к подсистеме могут получить только пользователи — члены системной группы cups. Group указывает возможность пользоваться подсистемой только членам группы, которая должна быть указана в последующей директиве AuthGroupName.

Директива Order определяет порядок предоставления доступа к CUPS по умолчанию. Значение Deny,Allow определяет — отвергать попытки доступа, если право на доступ не указано явно. Если директива имеет значение Allow,Deny, то доступ будет предоставлен, если явно не запрещен.

Читайте также:  Сетевое хранилище под windows

В конфиге можно заметить, что после DefaultAuthType идут параметры, сгруппированные в разделы . Такие директивы определяют доступ к определенным функциям сервера.

На этом настройку доступа к веб-интерфейсу CUPS считаю законченным. Остальные действия удобней выполнять через браузер. Для доступа к управлению необходимо ввести в веб-браузере строку http://ip.ad.dr.ess:631, в результате, должен появиться интерфейс управления CUPS. Если этого не произошло, попробуйте перечитать статью и проверить Ваши настройки еще раз. Перед манипуляциями с веб-интерфейсом я бы посоветовал сделать копию работающего конфига, потому что после внесения каких-либо изменений в настройки,конфигурационный файл переписывается параметрами веб-интерфейса. В результате, все вышеуказанные настройки сбиваются. Как говориться — удобство в угоду безопасности. Поэтому, я советую — настроив доступ к веб-морде, произвести настройки принтеров в Веб-интерфейсе, проверить работоспособность, а после проверки — восстановить настройки безопасности.

Особенности использования Веб интерфейса

Долго о Веб-интерфейсе описывать не буду. Последняя версия CUPS 1.4 практически полностью русифицирована. Управление принтерами через веб-морду не сложнее процесса установки принтера в операционной системе Windows. Единственный нюанс в Linux — это то, что фактически, «принтер» есть очередь печати. То есть фактически мы посылаем документ в определенную очередь печати с определенными настройками. Очередь привязана к конкретному принтеру-устройству. Таким образом, к одному принтеру может быть привязано несколько очередей с разными настройками. Это как в Windows установить несколько «принтеров» с разными версиями драйвера, но привязанными к одному физическому устройству.

Кроме веб-интерфейса, существуют так же консольные команды управления CUPS.

Параметры принтеров CUPS хранит в файле /etc/cups/printers.conf. В данный файл руками лезть не стоит. Он заполняется при настройке в веб интерфейсе. Пример файла:

Описание каждого установленного принтера (соответствующий PPD-файл) находится в каталоге /etc/cups/ppd/ .ppd.

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

Хочу еще отметить такой нюанс. CUPS разрабатывался как замена системе печати LPD. В LPD источником информации о имеющихся принтерах очередях печати был файл/etc/printcap. CUPS обратно совместим с данной системой печати и если мы посмотрим на файл printcap, то увидим, что:

файл printcap является символьной ссылкой на /var/run/cups/printcap. Т.о. CUPS сама следит за корректностью данного файла и тем самым обеспечивает обратную совместимость с LPD.

Устранение неполадок в системе печати

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

  • Постарайтесь проверить работоспособность принтера на другой ОС. Естественно, если он не заработает в другой ОС, то проблема скорее всего в аппаратной части.
  • Проверьте все физические соединения. Питание, информационный провод. Проверьте включен ли принтер и имеется ли бумага в лотке, а так же нет ли сигнализации об ошибках на принтере.
  • Если принтер подключается по USB, LPT, COM, то посмотрите выводы команд lsusb, dmesg на наличие записей о принтере. Если принтер с Ethernet-интерфейсом, проверьте связь с ним командой ping.
  • Если все вышеперечисленные проверки завершились успехом — тщательно проверьте настройки CUPS.
  • Проверьте в Веб-интерфейсе, не остановлена ли очередь печати принтера.
  • Если в статусе принтера написано waiting for job copmlete, то что-то мешает CUPS очистить очередь печати принтера (например отсутствие физического соединения с принтером или нехватка прав доступа).
  • Если при печати на бумаге выводится всякий мусор, то скорее всего выбраны неверные параметры/модель принтера.
  • Так же, для поиска неисправности необходимо просмотреть логи принтера в каталоге /var/log/cups/
  • Ну и как всегда, вам в помощь яндэкс и гугл.

Файлы и каталоги CUPS

В статье я уже приводил некоторые каталоги и файлы CUPS. В большинстве случаев, ручное редактирование каких-либо файлов CUPS, кроме /etc/cups/cupsd.conf, требуется довольно редко. Но для общего развития я расскажу о расположении файлов. Итак, как уже говорилось, для хранения настроек CUPS использует каталог /etc/cups/. Основной файл, имеющий для нас интерес — это cupsd.conf, который хранит глобальные настройки, так же существует printers.conf, хранящий настройки принтеров очередей печати. Подкаталог ppdсодержит файлы PPD для локальных принтеров. Файл passwd.md5 хранит зашифрованные пароли пользователей CUPS.

Большой объем данных лежит в /usr/share/cups/, в котором хранятся служебные файлы. Особый интерес представляет каталог /usr/share/cups/model/ (который в последней версии CUPS был перемещен в /usr/share/ppd/), который хранит описания для принтеров. При каждом старте сервер сканирует каталог /usr/share/cups/model на предмет появления новых описаний принтеров (PPD-файлов).

В процессе работы CUPS использует каталог /var/spool/cups/ для хранения описаний заданий печати и самих файлов заданий. Владельцем данного каталога должен быть пользователь root и группа lp. Права доступа определены, как 0710 (rwx—x—).

Так же используется каталог /var/run/cups/ для хранения информации о работе демона, такой как сокет, файл printcap и др.

Источник

Оцените статью