Система печати CUPS
CUPS (Common UNIX Printing System, общая система печати для UNIX), интересна своими богатыми возможностями. В ней реализован протокол печати, сходный с протоколом HTTP, заменяющий морально устаревший протокол LPD.
Поддерживает форматы Adobe PostScript, PDF, HP-GL/2, TIFF, JPEG, PNG, PBM, PGM, PPM, GIF, SGI, RGB, Sun Raster, Kodak Photo CDTM. Интересным моментом для администратора являются следующие особенности системы:
• правила управления доступом;
• наличие системы квот;
• авторизация пользователя;
• ведение log-журналов.
Программный пакет LPD
LPD (Line Printer Daemon, демон линейной печати) – пожалуй, старейший программный пакет для печати в мире UNIX. Идеология стандартна для UNIX – программы-утилиты для управления процессом печати и программа-демон, обеспечивающая печать на несколько принтеров. Благодаря такому построению программного пакета вы имеете возможность одновременно работать с несколькими принтерами и настроить сетевую печать. В пакет входят следующие программы:
• lpd – демон системы печати;
• lpr – пользовательская команда печати. 1рг выдает новое задание печати в очередь печати lpd. Синтаксис 1рг очень прост:
lpr [опции] [имя_файла …]
Если имя_файла не задано, lpr ожидает ввод данных со стандартного ввода. Это позволяет пользователям перенаправлять вывод команд в очередь печати;
• lpq – утилита для просмотра очереди печати. Команда, запущенная без аргументов, возвращает содержимое очереди печати принтера по умолчанию;
• lрс – утилита контроля lpd. С ее помощью можно производить любые манипуляции с очередью печати – добавлять и удалять задания, останавливать печать, переупорядочивать задания в очереди печати и т. д. lpc чаще всего используется в системах, где несколько принтеров установлено на один компьютер.
Команда lpc обычно используется в интерактивном режиме, однако никто вам не мешает запускать на выполнение эту команду с опциями. Некоторые из опций приведены далее:
– disable – запрещает добавление любых новых заданий печати;
– down – запрещает все задания на принтере;
– enable – разрешает ввод новых заданий в очередь печати;
– quit (or exit) – покинуть lpc;
– restart – перезагрузить lpd для данного принтера;
– status – статус печати принтера;
– up – разрешить все и запустить новый демон lpd.
• lprm – утилита для удаления задания из очереди печати. Команда lprm удаляет из очереди все задания печати, владельцем которых является пользователь, выполнивший эту команду. Для того чтобы отменить одиночное задание печати, надо сначала получить номер задания с помощью команды lpq, а затем сообщить полученный номер команде lprm.
Функционирует система следующим образом. При старте операционной системы стартует демон lpd. Используя файл /etc/printcap, он узнает, какие принтеры будет обслуживать. При запуске (пользователь что-то выводит на печать) lpr взаимодействует с lpd через именованный сокет /dev/printer и передает lpd-файл для печати и некоторую информацию о том, кто печатает и как печатать файл. Затем lpd печатает файл на соответствующем принтере в порядке очереди.
Настройка LPD
Начнем с простого – настроим простой струйный принтер фирмы Hewlett-Packard – HP DeskJet 400. Будем считать, что LPD уже установлен в вашей операционной системе, поскольку этот пакет входит во множество дистрибутивов как стандартная система печати.
Для добавления очереди печати к lpd вы должны внести запись в файл /etc/printcap и создать новый буферный каталог в каталоге /var/spool/lpd. Запись в файле /etc/printcap выглядит следующим образом:
# ЛОКАЛЬНЫЙ deskjet400
lp|dj|deskjet:\
:sd=/var/spool/lpd/dj:\
:mx#0:\
:lp=/dev/lp0:\
:sh:
Вышеприведенная запись определяет принтер с псевдонимами lp, dj или deskjet, его спул печати размещается в каталоге /var/spool/lpd/dj. Отсутствует ограничение максимального размера задания. Печать производится на устройство /dev/lpO и не сопровождается выводом страницы с именем человека, который печатает, добавленной в начало задания печати. Как вы видите – все очень просто. Но, во-первых, извечная проблема текстовых файлов UNIX и Windows – для UNIX в конце текстовой строки достаточно символа перевода строки, для Windows – необходимо наличие символов возврата каретки и перевода строки. Большинство современных принтеров рассчитаны для использования совместно с Windows, и поэтому для нормальной печати текста им также необходимо в конце текстовой строки наличие символов возврата каретки и перевода строки. Если не учесть эту особенность, при распечатке текста на принтере получится приблизительно следующее:
Читать дальше
Конец ознакомительного отрывка
Купить книгу