/etc/printcap

База данных характеристик принтера.

Имя

/etc/printcap


Описание:

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

Обратите внимание, что эту базу данных невозможно заменить (в отличие от termcap), поскольку в таком случае был бы возможен обход учета.

В качестве принтера по умолчанию обычно используется lp, однако для переопределения этого значения можно использовать переменную среды PRINTER. Все утилиты спулинга поддерживают опцию -Pпринтер, которая позволяет явным образом указывать целевой принтер.

Каждая запись в файле printcap описывает один принтер. Запись представляет собой строку, состоящую из некоторого числа полей, разделенных символами двоеточия (:). В первой записи для каждого принтера указываются известные имена принтера, разделенные символами "|".

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

Перед записями характеристик в файле printcap обязательно указывается код из двух символов; существуют следующие типы характеристик:

Булево значение

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

Числовое значение

Такие данные как скорость двоичной передачи в бодах, количество строк на страницу и т.д. Характеристики, описанные числовыми значениями, задаются в следующем формате: двухсимвольный код характеристики, символ # и, наконец, числовое значение. В следующем примере числовое значение указывает на то, что принтер следует эксплуатировать со скоростью двоичной передачи в бодах, равной 1200:

:br#1200:

Строка

Последовательность, соответствующая выполнению определенных операций принтером, таких как перемещение курсора. Характеристики, описанные строковыми значениями, задаются в следующем формате: двухсимвольный код характеристики, знак равенства (=) и, наконец, строка, которая заканчивается на следующем символе двоеточия (:). Пример:

:rp=spinwriter:

Эта запись означает, что имя удаленного принтера "spinwriter".

Характеристики

Имя

Описание

Тип

Значение по умолчанию

af

Имя учетного файла.

Строка

NULL

br

Если устройство построчной печати представляет собой терминал ввода-вывода, то задать для него указанную скорость двоичной передачи в бодах (вызов ioctl()).

Числовое значение

Отсутствует

cf

Фильтр данных cifplot.

Строка

NULL

df

Фильтр данных TeX (формат DVI).

Строка

NULL

du

Идентификатор пользователя daemon.

Строка

0

fc

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

Числовое значение

0

ff

Строка, передаваемая для выполнения перевода страницы.

Строка

\f

fo

При открытии устройства выполнить печать перевода страницы.

Булево значение

False

fs

Аналогична fc, но выполняется установка битов.

Числовое значение

0

gf

Фильтр данных диаграммы (формат plot(3X)).

Строка

NULL

hl

Вывести на печать заголовок титульной страницы в последнюю очередь.

Булево значение

False

ic

Драйвер поддерживает (нестандартная функция) отступы в распечатке посредством ioctl().

Булево значение

False

if

Имя фильтра ввода/обмена данными (создается для каждого задания).

Строка

NULL

lf

Имя файла регистрации ошибок.

Строка

/dev/console

lo

Имя файла блокировки.

Строка

lock

lp

Имя устройства, открываемого для вывода.

Строка

/dev/lp

mc

Максимальное число копий.

Числовое значение

0

ms

Список режимов терминала, которые необходимо установить или сбросить.

Строка

NULL

mx

Максимальный размер файла (в блоках BUFSIZ); 0 = без ограничения.

Числовое значение

1000

nf

Фильтр данных ditroff (независимый от устройства форматирования текста).

Строка

NULL

of

Имя фильтра вывода/баннеров (создается однократно).

Строка

NULL

pc

Цена за фут или страницу в сотых долях цента.

Числовое значение.

200

pl

Длина страницы (в строках).

Числовое значение

66

pw

Ширина страницы (в символах).

Числовое значение

132

px

Ширина страницы в пикселях (по горизонтали).

Числовое значение

0

py

Длина страницы в пикселях (по вертикали).

Числовое значение

0

rf

Фильтр для печати текстов в стиле ФОРТРАН.

Строка

NULL

rg

Ограничение по группе доступ предоставляется только членам группы.

Строка

NULL

rm

Имя узла для удаленного принтера.

Строка

NULL

rp

Аргумент имени удаленного принтера.

Строка

lp

rs

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

Булево значение

False

rw

Открыть устройство принтера на чтение-запись, а не только на запись.

Булево значение

False

sb

Короткий баннер (только одна строка).

Булево значение

False

sc

Подавлять печать нескольких копий.

Булево значение

False

sd

Каталог спулинга.

Строка

/usr/spool/output/lpd

sf

Подавлять перевод страницы.

Булево значение

False

sh

Подавлять печать заголовка титульной страницы.

Булево значение

False

st

Имя файла состояния.

Строка

status

tc

Имя аналогичного принтера; должно указываться последним.

Строка

NULL

tf

Фильтр данных troff (устройство фотовывода C/A/T).

Строка

NULL

tr

Концевая строка, печатаемая по завершении вывода очереди.

Строка

NULL

vf

Фильтр растровых изображений.

Строка

NULL

xc

Если устройство построчной печати является терминалом ввода-вывода, то сбросить биты локального режима.

Числовое значение

0

xs

Аналогична xc, однако выполняется установка битов.

Числовое значение

0


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

Обратите внимание, что в полях fs, fc, xs и xc указываются маски флагов, а не значения. При открытии устройства (если оно подключено к порту терминала) сервис устройства построчной печати устанавливает для ряда флагов этого устройства значения по умолчанию. Затем сбрасываются флаги, указанные в поле fc; затем устанавливаются флаги из поля fs (или наоборот, в зависимости от порядка fc#nnnn и fs#nnnn в файле /etc/printcap).

Биты, сброшенные полем fc и установленные полем fs, это биты из поля sg_flags структуры sgtty, установленные вызовом ioctl() TIOCSETP, а биты, сброшенные полем xc и установленные полем xs, это биты из машинного слова "local flags", установленного вызовом ioctl() TIOCLSET. Описания этих флагов см. в файле .

Например, для установки в качестве набора флагов в поле fs битовой маски 06300 (установка режимов EVENP, ODDP и XTABS; сброс остальных флагов) укажите следующую строку:

:fc#0177777:fs#06300:


Такая же процедура применяется и к полям xc и xs. Кроме того, для выбора устанавливаемых и сбрасываемых режимов можно использовать поле ms. Эти режимы указываются как режимы stty; можно указывать любой режим, поддерживаемый stty, за исключением скорости двоичной передачи в бодах (которая указывается в поле br).

Например, при установке для терминального порта (к которому подключен принтер) проверки на четность, замены символов табуляции, запрета трансляции символа новой строки в символ возврата каретки/перевода строки, активации управления потоком RTS/CTS (запроса/подтверждения готовности) укажите следующую строку:

:ms=evenp,-tabs,nl,crtscts:


Поле tc в списке характеристик всегда указывается последним. С каждым типом принтера должна быть сопоставлена общая запись, описывающая общие характеристики. Затем для каждого отдельного принтера можно указать собственные характеристики и добавить поле tc, указывающее на общую запись для данного типа принтера.

Для получения информации о работе с файлом printcap см. главу Printing ("Печать") Руководства системного программиста (администратора) КПДА.10964-01 32.