[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по принтерам и печати


Описание службы печати

Служба печати UNIX - это набор утилит, с помощью которых системный администратор (или администратор печати) настраивает, отслеживает и управляет принтерами системы.

Служба печати выполняет следующие функции:

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

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

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

Каждому принтеру соответствует очередь печати; задания в очереди можно приостанавливать, перемещать и переносить в другую очередь.

Краткие сведения об обработке запроса на печать

На следующем рисунке представлен процесс обработки запроса на печать.

Рис. 6-1. Краткие сведения об обработке запроса на печать

Figure print11 not displayed.

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

Для настройки службы печати необходимо изменить или заменить некоторые из элементов, показанных на рисунке Краткие сведения об обработке запроса на печать (номера пунктов совпадают с номерами на рисунке).

  1. Настройка службы печати: в большинстве случаев необходимо просто изменит конфигурацию принтера, хранящуюся на диске. Дополнительную информацию о добавлении или изменении локального принтера можно узнать с помощью команды lpadmin.
  2. База данных terminfo: Если существуют принтеры, не занесенные в базу данных terminfo, то в нее необходимо добавить записи, описывающие возможности принтера. См. Добавление записи о принтере в базу данных terminfo. Служба печати обращается к базе данных terminfo в двух случаях: для сопоставления заданий печати и возможностей принтера (проверки, может ли тот или иной принтер выполнить задание) и для настройки принтера на выполнение запросов.

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

  3. Стандартная интерфейсная программа: Если ваш принтер обладает сложным набором функций или если вы хотите использовать свойства, не поддерживаемые службой печати, существует возможность изменить интерфейсную программу. Интерфейсная программа осуществляет управление принтером: печатает баннеры, инициализирует принтер, запускает фильтры, отправляющие копии пользовательских файлов на принтер.
  4. Дополнительные фильтры: Медленные и быстрые фильтры обеспечивают связь между приложениями и принтерами, используемыми в системе. Фильтры осуществляют преобразование файлов в другие формы (например, преобразование одного набора esc-последовательностей в другой) и специальную настройку, применяя запрошенные пользователем режимы печати. Медленные фильтры запускаются демоном буферизации, не замедляя работу принтера. Быстрые фильтры запускаются таким образом, что вывод направляется напрямую на принтер; следовательно, они могут влиять на управление принтером.

Описание протокола запросов на печать

Для каждого задания печати служба печати создает два файла, описывающих запрос на печать, и помещает их в каталоги /usr/spool/lp/temp и /usr/spool/lp/requests. Информация разбивается на две части для того, чтобы конфиденциальная информация хранилась в каталоге /usr/spool/lp/requests. Пользователь, создавший задание, получает права доступа к файлу из каталога /usr/spool/lp/temp; администратор печати (пользователь root) получает права доступа к файлу в каталоге /usr/spool/lp/requests.

Файлы остаются в этих каталогах до тех пор, пока задания находятся в очереди. По завершению печати задания информация из двух файлов объединяется и добавляется в протокол запросов /usr/spool/lp/logs/requests .

Структура протокола запросов такова, что извлечение информации выполняется с помощью команд оболочки UNIX. Запросы перечислены в порядке их выполнения, строки с запросами разделяются строками с ИД запросов. Все строки, следующие за строкой-разделителем отмечены одиночными символами - кодами протокола запросов, определяющими тип информации, находящейся в строке. Код отделяется от данных пробелом. Коды протокола описаны в строке, следующей за образцом записи.

Ниже приведен образец записи протокола запросов на печать:

   = ps-717, uid 1532, gid 18, size 7872, Tue May 10 14:43:10 1994
   z ps
   C 1
   D ps
   F /usr/spool/lp/temp/717-1
   P 20
   t simple
   U hanna
   s 0x0010

Таблица записей протокола запросов:


Буква Содержимое строки
= В строке-разделителе перечислены (разделенные запятой) ИД запроса, ИД пользователя (uid) и ИД группы (gid) пользователя, создавшего запрос, количество байт в исходном файле (size), а также дата и время занесения запроса в очередь.
C Число печатаемых копий.
D Описание класса, описание принтера или слово any.
F Имя файла в каталоге /usr/spool/lp/temp. Эта строка повторяется для каждого печатаемого файла; файлы печатаются в порядке занесения в очередь.
f Имя используемой формы (если форма применяется).
H Тип особой обработки:
  • resume
  • hold
  • immediate
N Способ извещения пользователя о завершении печати (если это возможно):
  • M   по электронной почте
  • W   сообщением на терминал пользователя
O Все опции -o, указанные в команде lp.
P Приоритет запроса на печать.
p Список печатаемых страниц.
r Все опции -r, указанные в команде lp, сообщающие о запросе пользователя на прямую обработку файла.
S Используемый набор символов.
s Результат работы, преобразованный в набор бит в шестнадцатеричной форме. Программа буферизации использует следующие биты:
  • 0x0004   Медленная фильтрация выполнена успешно.
  • 0x0010   Печать выполнена успешно.
  • 0x0040   Запрос был отменен.
  • 0x0100   Сбой при выполнении запроса во время фильтрации или печати.
T Заголовок баннера.
t Тип содержимого файла.
U Имя пользователя, создавшего запрос на печать.
x Медленный фильтр.
Y Список особых режимов фильтров, используемых при печати запроса.
y Быстрый фильтр.
z Принтер, используемый для выполнения запроса. Эта строка отличается от строки D в случае, когда запрос был занесен в очередь для принтера или класса принтеров any или администратор печати передал выполнение запроса другому принтеру.

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

В общем, для управления службой печати необходимо пользоваться Web-администратором системы. Информация по управлению системой с помощью командной строки приведена в следующих разделах:

Команды службы печати, доступные всем пользователям:


Команда Описание
cancel Отменяет запрос на печать файла
lp Отправляет файл или файлы на принтер
lpstat Создает отчет о состоянии службы печати

Администратор может предоставить пользователям права на включение и выключение принтера для того, чтобы при возникновении неполадки пользователь мог выключить принтер без вмешательства администратора печати. (Однако, в вашей среде печати предоставление этих прав может быть нецелесообразным.)

Таблица команд администратора службы печати содержит команды, доступные администратору печати. Команды администратора доступны пользователю root.

Команды администратора службы печати расположены в каталоге /usr/lib. При частом использовании этих команд рекомендуется добавить строку /usr/lib в переменную PATH.

Команды администратора службы печати


Команда Описание
accept
reject
Разрешает занесение заданий в очередь указанной цели
Запрещает занесение заданий в очередь указанной цели
cancel Отменяет запросы к построчному принтеру.
enable
disable
Активация принтеров с именами
lpadmin Установка или изменение конфигурации принтера
lpc Предоставляет управление построчным принтером (BSD)
lpfilter Установка или изменение описаний фильтров
lpforms Установка или изменение форм печати (для монтирования формы применяется команда /usr/sbin/lpadmin)
lpmove Передает вывод запросов с одной цели на другую
lpsched
lpshut
Запускает службу печати
Останавливает службу печати
lpsystem Регистрирует удаленные системы в службе печати
lpusers Устанавливает или изменяет приоритет по умолчанию и ограничения приоритетов, запрашиваемых пользователями службы печати

Команды accept, reject, cancel, enable, disable и lpadmin существуют также в Web-администраторе системы. Для их выполнения необходимо запустить Web-администратор системы, а затем выбрать в Оглавлении пункт Принтеры.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]