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

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


/etc/qconfig - файл настройки программы буферизации

Структура файла /etc/qconfig

Файл /etc/qconfig играет наиболее важную роль в домене программы буферизации по следующим причинам:

Файл /etc/qconfig содержит описания всех очередей в базовой операционной системе; очередь - это упорядоченный список с именем, содержащий запросы к указанному устройству. Устройством (аппаратным или программным) называется любой объект, который может последовательно выполнять эти запросы. Очередь обеспечивает последовательный доступ к устройству. Каждую очередь должно обслуживать по крайней мере одно устройство; иногда на одну очередь приходится несколько устройств.

Демон qdaemon считывает версию файла /etc/qconfig в формате ASCII и создает его двоичную версию - /etc/qconfig.bin. Для того чтобы демон qdaemon мог анализировать файл /etc/qconfig, файл должен быть записан в специальном формате. Ниже приведены подробные примеры структуры файла /etc/qconfig.

                Локальная очередь
имя_очереди:
        device = имя_устройства
        up = TRUE или FALSE
        discipline = fcfs или sjn
имя_устройства:
        file = имя_физического_устройства или FALSE
        header = always или group или never
        trailer = always или group или never
        access = both или write
        backend = полный_путь_к_базовой_программе 
  

                Удаленная очередь
имя_очереди:
        device = имя_устройства
        up = TRUE или FALSE
        host = имя_удаленного_хоста
        s_statfilter = полный_путь_к_краткому_фильтру
        l_statfilter = полный_путь_к_полному_фильтру
        rq = имя_удаленной_очереди
имя_устройства:
        backend = полный_путь_к_базовой_программе

Файл /etc/qconfig состоит из текстовых блоков, называемых разделами. Каждая очередь представлена двумя разделами. Первый из них называется разделом очереди; второй - разделом устройства. Разделы состоят из названий и значений параметров, определяющих свойства очереди.

При анализе демоном qdaemon ASCII-версии файла /etc/qconfig первой строкой, отличной от комментария, должно быть слово с двоеточием; эта строка обозначает начало раздела очереди. Слово задает имя очереди, в которую пользователь может передавать задания печати. Следующие строки должны быть указаны с отступом. Среди них должна быть следующая строка: device = имя_устройства. Значение параметра device связывает раздел очереди с разделом устройства; других функций у этого параметра нет. Во время начальной настройки очереди значением параметра device обычно является имя принтера (например, lp1). Хотя для очереди действительно может быть назначен принтер lp1, использование имени lp1 в качестве значения параметра device означает только то, что раздел устройства будет называться lp1, не более. Это никак не связано с наличием в системе реального принтера с именем lp1.

После строк, указанных с отступом, должна следовать строка со словом с двоеточием - значением параметра device; эта строка обозначает начало раздела устройства. Слово (для пользователя оно безразлично) задает имя устройства, последовательный доступ к которому обеспечивает раздел очереди. Следующие строки должны быть указаны с отступом. Среди них должна быть следующая строка: backend =полный_путь_к_базовой_программе. В случае локальной среды буферизации, данный раздел содержит два важных параметра.

Параметр file задает имя реального устройства, последовательный доступ к которому обеспечивает данная очередь. Следует отметить, что все задания, переданные в систему буферизации, помещаются в очередь данного устройства. Если эта очередь назначена для принтера с именем lp1, то значением параметра file будет /dev/lp1. Процедуры создания очереди используют имя реального устройства в качестве имени раздела устройства по умолчанию. Помните, что оно не обязательно совпадает с именем устройства, фактически назначенного очереди.

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

Очереди буферизации, виртуальные принтеры и физические принтеры

Пример под названием Четыре очереди - Четыре виртуальных принтера - Один физический принтер относится к случаю, когда файл /etc/qconfig определяет четыре очереди для одного физического принтера (в данном случае - /dev/lp1). Обратите внимание, что во всех четырех парах разделов раздел очереди с разделом устройства связывает одна и та же строка - lp1. Во всех разделах устройства реальный целевой принтер для каждого задания каждой из очередей задается параметром file. В данном примере, это принтер lp1 с записью /dev/lp1 в драйвере устройства. В момент создания определений этих очередей с помощью команды smit ей была необходима связующая строка между разделами каждой пары. А поскольку в системе существовал физический принтер lp1, система применила строку lp1 и в качестве значения параметра device каждого раздела очереди, и в качестве имени каждого раздела устройства. Ниже приведены подробные примеры структуры файла /etc/qconfig.

asc:
        device = lp1
lp1:
        file = /dev/lp1
        header = never
        trailer = never
        access = both
        backend = /usr/lib/lpd/piobe

gl:
        device = lp1
lp1:
        file = /dev/lp1
        header = never
        trailer = never
        access = both
        backend = /usr/lib/lpd/piobe

pcl:
        device = lp1
lp1:
        file = /dev/lp1
        header = never
        trailer = never
        access = both
        backend = /usr/lib/lpd/piobe

ps:
        device = lp1
lp1:
        file = /dev/lp1
        header = never
        trailer = never
        access = both
        backend = /usr/lib/lpd/piobe

Каждая из этих пар разделов определяет очередь. Если в качестве базовой применяется программа piobe, то с каждой очередью связан также и виртуальный принтер. Хотя определения виртуальных принтеров можно создавать и с помощью редактора, обычно их создают одновременно с определениями очереди с помощью smit и команды piomkpq. Определения виртуального принтера не хранятся в файле /etc/qconfig. Существование виртуального принтера следует из того, что базовой программой данной очереди является piobe; его определение может располагаться в любом месте базовой файловой системы. Имя очереди служит для идентификации определения виртуального принтера и обращения к нему.

Физический принтер с именем lp1 в базовой операционной системе поддерживает по крайней мере четыре различных типа потоков данных: ASCII (asc), Эмуляцию графопостроителя (Plotter Emulation) (gl), Язык команд принтера (Printer Command Language) (pcl) и PostScript (ps). Каждая очередь вместе со связанным с ней виртуальным принтером обрабатывает один из типов потоков данных. Поэтому очередей именно четыре. Это один из основных принципов логического разделения физических и виртуальных принтеров в базовой операционной системе.

Имена очередей буферизации и форматы ответов на запросы о состоянии

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

В ответ на запросы о состоянии очередей информация об удаленных очередях будет показана дважды: один раз для локальной очереди и один раз для удаленной очереди на сервере печати. Например, если в файле /etc/qconfig есть такая запись:

myps:
        device = @kricket
        up = TRUE
        host = kricket
        s_statfilter = /usr/lib/lpd/aixshort
        l_statfilter = /usr/lib/lpd/aixlong
        rq = myps
@kricket:
        backend = /usr/lib/lpd/rembak

то команда lpstat -pmyps возвратит следующий ответ:

Очередь   Устр   Состояние    Файлы Задания    Пользоват.      PP %  Блоки Cp  Rnk
------- ---   --------- --- -------- --------- -- -  ---- --  ---
myps    @krik ГОТОВО
myps    myps  ГОТОВО

Здесь первая строка означает, что локальная очередь myps с разделом устройства @krik находится в состоянии ГОТОВО. Вторая строка означает, что целевая удаленная очередь myps с разделом устройства myps тоже находится в состоянии ГОТОВО. (В примере умышленно выбраны одинаковые имена для локальной и удаленной очередей буферизации. Такой прием позволяет сделать ответ на запрос о состоянии очереди более удобочитаемым.)


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