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

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


Команды и управляющие последовательности

База данных terminfo

В базе данных terminfo содержатся данные о специальных функциях терминала, например, об управлении курсором, наборе команд инициализации и последовательностях клавиш, управляющих операциями терминала. База данных terminfo содержит управляющие последовательности для поддерживаемых типов терминалов. Ниже указаны управляющие последовательности, обеспечивающие доступ к порту AUX:

mc5=Значение Дает команду терминалу передать все данные в порт AUX (Принтер включен).
mc4=Значение Восстанавливает вывод на терминал (Принтер выключен).

Каждому терминалу соответствуют собственные управляющие последовательности. Вот пример командных последовательностей принтера для терминала IBM 3151:

mc5=^P^R

mc4=^P^T

Здесь ^P^R обозначает последовательность клавиш Ctrl-P Ctrl-R.

Добавление поддержки для неподдерживаемых терминалов

Необходимо добавить управляющие последовательности в базу данных terminfo в каталоге /usr/share/lib/terminfo. Добавить управляющую последовательность для данного терминала можно, отредактировав соответствующий файл *.ti. Затем с помощью команды tic откомпилируйте файл. Более подробную информацию о значениях управляющих последовательностей вы найдете в документации, прилагаемой к терминалу.

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

Атрибуты виртуального принтера определяются во время его настройки. Для принтеров, подключенных к терминалам, атрибуты задаются в формате yN, где N - целое положительное число. Значение y0 зарезервировано. Оно означает, что очередь виртуального принтера настроена для принтера, подключенного к терминалу, и содержит строку алгоритма для порта терминала. В последующих разделах подробно описаны атрибуты подключенных к терминалу виртуальных принтеров, зависящие от конкретного адаптера.

Для изменения атрибутов ранее созданного виртуального принтера предназначена команда быстрого доступа Web-администратора системы Устройства. Кроме того, можно применять команду быстрого доступа smit ps_lsvirprt.

Стандартные, 8-портовые, 16-портовые и прочие контроллеры

Стандартные контроллеры портов (S1 и S2), 8- и 16-портовые контроллеры не обеспечивают аппаратной поддержки принтеров, подключенных к терминалам. Предоставляют ли такую поддержку контроллеры других фирм - неизвестно. Поэтому файлы печати приходится разбивать на небольшие блоки данных. Перед каждым таким блоком задается управляющая последовательность mc5, а после него - управляющая последовательность mc4. После получения терминалом управляющей последовательности mc5 все последующие данные направляются в порт AUX до тех пор, пока не будет получена управляющая последовательность mc4.

Блоки данных, отправляемые на терминал, должны быть сравнительно невелики. Передача на терминал слишком большого количества символов может привести к тому, что передаваемые на принтер данные смешаются с эхом уже печатаемых. Кроме того, чтобы свести к минимуму вероятность ошибок приема данных, необходимо установить задержку между операциями передачи блоков.

В стандартных, 8-портовых, 16-портовых и прочих контроллерах предусмотрены следующие атрибуты размера блока данных и продолжительности задержки:

y1 Указывает максимальное число символов в блоке данных.
y2 Указывает продолжительность задержки между передачей блоков (в микросекундах).

64-портовый контроллер

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

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

128-портовый контроллер

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

y1 Задает максимальную скорость передачи символов на принтер (в символах в секунду - CPS). Рекомендуется выбирать это значение несколько меньшим, чем средняя скорость печати данного принтера. Скорость печати указана в руководстве по вашему принтеру.
y2 Задает максимальный размер (в символах) очереди вывода, создаваемой драйвером принтера. Чем меньше это значение, тем выше нагрузка на систему. Чем больше это значение, тем медленнее система будет реагировать на нажатие клавиш во время работы принтера.
y3 Задает приблизительный размер буфера ввода принтера, подключенного к терминалу, которым будет руководствоваться драйвер принтера. По истечении периода простоя драйвер передаст на принтер заданное количество символов. Размер буфера вывода указан в руководстве по вашему принтеру.

Команды базовой программы принтера

Команда piobe запускает обычную базовую программу, применяемую подсистемой буферизации печати при печати на принтере, локально подключенном к терминалу. Программу piobe запускает процесс qdaemon. Считывая флаг или запрашивая базу данных виртуального принтера, эта программа определяет параметры потока данных, который она должна создать. Затем программа piobe пропускает файл печати через конвейер соответствующих фильтров, в результате чего создается правильный поток данных. После прохождения этого конвейера файл передается программе pioout - интерфейсу драйвера принтера.

Команда piobe вызывает в конвейере команду pioout. В случае локально подключенных принтеров, команда pioout передает файл печати соответствующему драйверу принтера (например, /dev/lp1). Однако к принтерам, подключенным к терминалам, файлы печати передаются через драйвер терминала (например, /dev/tty0) после их модификации с учетом содержимого баз данных terminfo и виртуального принтера. В базу данных terminfo направляются запросы об атрибутах управления терминалом mc5 и mc4. В базу данных виртуальных принтеров - запросы об атрибутах конкретного асинхронного контроллера.


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