su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


Использование принтеров

Введение

Управление классами родственных принтеров

Управление фильтрами

Выполнение ежедневных операций сервиса принтера

Конфигурации принтеров для сервиса принтеров

Присваивание приоритетов в очереди на распечатку пользователям

Управление действующими запросами на распечатку

Вывод на экран состояния сервиса принтера

Создание конфигурации линии связи с удаленными системами

Установка принтера (совместимость сверху вниз)

Поиск неисправностей

Настройка сервиса принтера

Введение

В этой главе описывается управление принтерами в системе Unix System V Release 4.0 Version 1.0 с помощью команд или выбора меню. Оно организовано таким образом, чтобы провести параллель между структурой Line Printer Services Configuration (Конфигурация сервиса линейных принтеров) и Operations selection (Выбор операций) (которым обращаются как к Printer Services - Сервису принтера) и меню System Administration.

Пакет LP является дополнительным обеспечением к базовому программному обеспечению Unix. Он состоит из одной или нескольких гибких дискет из набора для инсталляции и инсталлируется или с помощью выбора Install Software Packages (Инсталляция программных пакетов) из меню Software, или с помощью запроса команды pkgadd -d diskette 1.

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

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

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

Опишем каждый из допустимых выборов из базового меню принтеров, а также команды, эквивалентные им.

Предлагаем ниже прирезанный выбор:

2 Line Printer Services Configuration and Operation

 
classes - Manage Classes of Related Printers
ilters - Manage Filters for Special
fProcesses forms - Manage Pre-printed Forms
operations - Perform Daily Printer Service Operations
printers - Configure Printers for the Printer Service
priorities - Assign Print Queue Priorities to Usera
requests - Manage Active Print Requests
status - Display Status of Printer Service
systems - Configure Connection to Remote Systems
preSVR4 - Printer Setup

Управление классами родственных принтеров

Группу принтеров можно определить, обозначив один вид, называемый class. В тот момент, когда пользователь предписывает распечатку файла какому-то классу принтеров, LP берет первый принтер из класса, который в этот момент будет свободным.

Классы применяются, для того чтобы организовать заказ 9Днотипных принтеров по приоритету. Например, сгруппируйте быстродействующий и медленный принтеры в один класс; быстродействующий принтер обрабатывает предельно возможное количество запросов, а медленный принтер остается в запасе на случай, когда другой будет занят. Это дает наибольшую загруженность обоих принтеров.

Когда вы выбираете classes из меню Printer Services (Сервис принтеров) на экран выводится следующее меню.

3 Manage Classes of Related Printers

add - Add a New Class

list - List Printers in Classes

modify - Modify the Membership of a Class

remove - Remove Classes

Добавление нового класса

Выбор add (добавить) выводит на экран форму, предлагающую вам обеспечить имя нового класса и список принтеров в данном классе. Имена классов и имена принтеров должны быть уникальными.

Присоединение нового класса можно также осуществить, дав команду:

/usr/sbin/lpadmin - printer-name -с class-name

где class-name еще пока не существует.

Просмотр принтеров из классов

Выбор list (просмотр) выводит на экран форму, предлагающую вам обеспечить имена одного или нескольких классов принтеров. После нажатия ENTER, система выводит на экран список принтеров, которые входят в состав каждого класса.

Модификация состава класса

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

На экран будет выведена форма, предлагающая указать имя класса и выбор добавления или удаления принтеров из этого класса (добавление - это выбор по умолчанию).

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

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

/usr/sbin/lpadmin -p printer-name -r class-name

Когда из класса будет удален последний принтер, класс автоматически удаляется.

Удаление класса

Выбор remove выводит на экран форму, предлагающую дать имена тех классов, которые вы желали бы удалить.

Вы можете удалять класс, только если он не содержит запрос на задержку распечатки.

Для того чтобы выполнить удаление с помощью команды, введите:

/usr/sbin/lpadmin -x class-name

Управление фильтрами

Разберем как управлять использованием фильтров с помощью меню или команды, filter - это программа,

которая действует после подачи запроса на распечатку. Она обрабатывает файл пользователя как ввод.

Преобразование файла

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

LP разрешает присваивать type каждому принтеру, который вы подключаете к системе, а также позволяет пользователю присваивать type каждому файлу, предписанному к распечатке. Данная информация используется для подбора файла и принтера системы, который бы воспроизводил этот файл наилучшим образом.

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

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

Специальные режимы распечатки

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

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

Обработка сбоев принтера

Пакет LP позволяет выявлять сбои принтера, и для большинства принтеров выявляет их досконально. Но он имеет ограниченные возможности проверки "зависаний" и значительных задержек распечатки.

Спроектированный должным образом фильтр может обеспечить более совершенное выявление сбоев в конкретном принтере.

Меню управления фильтрами

Когда вы выбираете filters из меню Printer Services, на экран выводится следующее меню:

3 Manage Filters for Special Processing
add - Add a New Filter
list - Display Filter Information
modify - Modify Filters
remove - Remove Filters
restore - Restore Filters to Factory Settings

Добавление фильтра

Выбор add выводит на экран следующую форму:

4 Add a New Filter

New Filter

Model Filter: default-filter

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

Вы можете или выбрать один фильтр из списка, или

покинуть список, набрать имя фильтра и нажать SAVE.

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

Ваш ответ на New Filter (новый фильтр) - это ввод имени, которое вы будете использовать для ссылки к этому фильтру далее.

Формат следующий:

5 Add/Modify Filter <filter-name>

Input types: simple

Output types: simple

Printer types: any Printers: any

Fast or slow filter: slow Filter command:

New filter options? Yes

Input types

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

Output types

Это список типов файлов, которые может дать фильтр как вывод. Имена типов вывода должны согласовываться с типами принтеров вашей системы или с типами вводов, обрабатываемых другими фильтрами.

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

Printer types

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

Printers

Фильтр должен быть в состоянии работать со всеми принтерами, принимающими вывод, который дает фильтр.

Fast or Slow Filter

LP различает "быстрые" фильтры и "медленные"

фильтры. Быстрые фильтры помечаются "fast", или потому, что предполагают минимальные дополнительные расходы при подготовке файла к печати, или потому, что они должны иметь доступ к принтеру, когда функционируют.

Фильтры, которые выявляют сбои принтера, например, всегда - "быстрые" принтеры. Фильтры, которые требуют большого количества расходов при подготовке файла, и могут не иметь доступа к принтеру, следует пометить как "slow". LP прогоняет медленные фильтры в фоновом режиме без привлечения принтера.

Filter Command

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

Filter Options: Templates

Режимы и аспекты распечатки регистрируются в списке шаблонов. Templates-list - это список шаблонов, отделенных друг от друга запятыми и имеющими нижеприведенный формат:

keyword pattern = replacement

keyword помечает шаблон, который регистрирует конкретную характеристику распечатки.

pattern - это или значение характеристики, или звездочка (*), которая ставится как обозначение структурного нуля "любое значение".

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

keyword Possible patterns
Тип ввода

INPUT content-type
Тип вывода OUTPUT content-type
Тип принтера TERM printer-type
Шаг расположения знаков CPI integer
Шаг строки LPI Integer
Длина страницы LENGTH integer
Ширина страницы WIDTH integer
Страницы на печать PAGES page-list
Набор символов CHARSET character-set
Имя формата FORM form-name
Количество копий COPIES integer
Режимы MODES mode

Примеры

Программа фильтрации называется /usr/bin/npf. Она обрабатывает два типа ввода - nroff37 и X, дает тип вывода ТХ и будет работать с любым принтером типа ТХ.

Программа принимает три параметра:

Определение вывода будет выглядеть следующим образом:

Input types: X,nroff37

Output types: ТХ

Printer types: TX

Command: /usr/bln/npf

Options: INPUT X = -Xb,

LENGTH * = -1*.

WIDTH * = -W"

Программа фильтрации называется /usr/bin/x9700. Она обрабатывает один тип ввода - troff, дает тип вывода 9700 и будет работать на принтере типа 9700.

У программы имеется один устойчивый параметр, -ib, и она принимает три других параметра:

Вы решили, что ваши пользователи дают сокращения port и land, когда они запрашивают об ориентации бумаги.

В связи с тем, что эти параметры не характерны для LP, пользователи будут указывать их, используя параметр -у команды 1р.

Определение фильтра будет выглядеть следующим образом:

Input types: troff

Output types: 9700

Printer types: 9700

Command: /usr/bin/x9700 -ib

Options: LENGTH *=-!*,

CHARSET * = -S *,

MODES port = -o portrait,

MODES land = -o landscape

(Последняя строка разделена на несколько строк в целях удобочитаемости; вы будете вводить ее как одну строку).

Примечание

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

(все другие знаки косой черты останутся без изменений).

Добавление фильтра с помощью команды

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

Получите информацию в том виде, в каком она перечислена в предыдущем меню:

Input types: input-type-list Output types: output-type-list Printer types:

printer-type-list Printers: printer-list Filter type: fast or slow

Command:

simple-command Options: template-list

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

/usr/sbin/lpfilter -f filter-name -F file-name

/usr/sbin/lpfilter -f filter-name -

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

Вывод фильтра на экран

После того, как фильтр будет добавлен в LP или с помощью выбора list из меню Manage Filters (Управление фильтрами), или с помощью команды, вы проверяете его определение.

Если вы выбираете list из меню, вам поступит подсказка на отображение имени фильтра. Команда Ipfilter выводит на экран определение фильтра в формате:

/usr/sbin/lpfilter -f filter-name -1 (optionally:) >file-name

Модификация фильтра

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

В тот момент, когда фильтру присвоено имя, на экран выводится форма, которая используется для добавления фильтра, и вы можете изменить любой элемент. Чтобы модифицировать фильтр с помощью команды, вы можете еще раз ввести его или отобразить фильтр в файл, отредактировать этот файл, а затем вновь ввести фильтр.

Удаление фильтра

Чтобы удалить фильтр с помощью меню, выберите этот элемент и введите имя фильтра, который хотите удалить. Чтобы удалить фильтр с помощью команды, наберите следующее:

/usr/sbin/lpfliter -f filter-name -x

Примечание

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

Предварительный формат распечатки

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

Далее мы опишем как управлять использованием предварительных форматов распечатки с помощью меню или команды.

Выберите forms из меню Printer Services, что даст нижеприведенный формат:

3 Manage Pre-printed Forms

add - Add a New Form
list - List Form Attributes
modify - Modify a Form
remove - Remove For"a

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

Добавление или модификация формата

Когда вы выбираете add из меню, вы заполняете короткий формат, давая имя формату и именуя уже существующий формат, form-name содержит 14 или меньшее число символов, цифр и символ подчеркивания.

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

Когда будет определено несколько форматов, повторяющийся выбор CHOICES будет циклически повторять имена имеющихся в наличии форматов. Дальнейший выбор SAVE выведет на экран выбранный формат модели, default-form такой:

5 Add/Modify Form <form-name>

Page length: Page width:

Line pitch: Character pitch:

Number of Pages:

Character set choice:

Ribbon color:

Comment:

Alignment pattern file: Alert command:

Number of requests: (Only appears if an alert command is supplied)

Frequency of alerts: (Only appears if an alert command is supplied)

Users denied:

Users allowed:

Page length

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

Page width

Ширина формата, выраженная в колонках, дюймах или сантиметрах.

Number of pages

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

Line pitch

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

Character pitch

Показывает насколько близко друг к другу расположены символы формата.

Подобно шагам в строке выражается или в символах на дюйм, или в символах на сантиметр.

Character set choice

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

Ribbon color

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

Comment

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

Alignment Pattern

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

Примечание

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

Allerting to Mount a Form or Print-Wheel

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

Способом такой организации является подача команды, которую выдаст LP, когда такой порог будет достигнут. Скорее всего это будет команда mail или команда для записи сообщения на терминал.

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

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

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

/usr/sbin/lpadmin -S

/usr/sbin/lpadmin -S

/usr/sbin/lpadmin -S

/usr/sbin/lpadmin -S

print-wheel -A

print-wheel -A

print-wheel -A

print-wheel -A

mail -Q int -W minutes

write -Q int -W minutes

'command' -Q int -W minutes none

Первые две команды/дают указание LP отослать почтовое сообщение или записать это сообщение прямо в терминал, соответственно для каждого предупреждения.

Третья команда дает указание LP запускать command для каждого предупреждения.

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

Количество запросов, которые должны ждать, это int и minutes, равно количеству минут между повторными предупреждениями.

Если вы запустите механизм получения повторных предупреждений, вы можете дать указание LP прекратить посылать вам предупреждения в текущем случае, дав следующую команду:

/usr/sbin/lpadmin -S print-wheel -A quiet

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

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

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

Users Denied/Users Allowed - это список имен регистрации пользователей, которым особым образом запрещается или разрешается использовать формат.

Если список разрешений не пустой, список запрещений игнорируется.

Если список разрешений пуст, используется список запрещений.

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

Размещение any или all (любой и все) в списке разрешений позволяет использовать формат каждому; размещение any или all в список запрещений запрещает кому-либо использовать формат, за исключением пользователя 1р и суперпользователя root.

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

Получите информацию следующего вида:

Page length: scaled-number

Page width: scaled-number

Number of pages: Integer

Line pitch: scaled-number

Character pitch: scaled-number

Character set choice: character-set-name,mandatory

Ribbon color: ribbon-color

Comment: comment

Alignment pattern: alignment-pattern

За исключением Alignment pattern информация может появляться в любом порядке. Aligntment pattern должна быть последней из данной информации. Если comment должен содержать строку, начинающуюся с любой из ключевых фраз, вначале следует ввести символ ">".

Это означает, что любой начальный символ ">" будет убран из комментария при отображении. Необязательно давать всю информацию. Отсутствующей информации присваиваются следующие значения по умолчанию:

Элемент Значение по умолчанию
Page length 66 lines
Page width 80 columns
Number of pages 1
Line pitch 6
Character pitch 10
Character set choice any
Ribbon color any
Comment (no default)
Alignment pattern (no default)
Alerts none
Users allowed all
Users denied none

Определение формата с помощью команды

Чтобы определить формат, используйте одну из следующих команд:

/usr/sbin/lpforms -f form-name -F file-name

/usr/sbin/lpforms -f form-name -

Первая команда получает определение формата из файла; вторая команда - через диалог.

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

/usr/sbin/lpforms -f form-name -и allow:user-list

/usr/sbin/lpforms -f form-name -u deny:user-list

user-list - это список имен пользователей, отделенных запятой или пробелом. Если для отделения имен друг от друга вы используете пробелы, заключите весь список (включая и allow: или deny:) в кавычки. Использование allow:all разрешает доступ всем; deny:all всем запрещает доступ.

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

/usr/sbin/lpforms -A mail -Q integer -W minutes

/usr/sbin/lpforms -A write -Q integer -W minutes

/usr/sbin/lpforms -A 'command' -Q integer -W minutes

/usr/sbin/lpforms -A none

Первые две команды дают указание LP послать вам почтовое сообщение или записать сообщение прямо на ваш терминал.

Третья команда дает указание LP запустить command вместо каждого предупреждения.

Четвертая команда дает указание LP не отсылать предупреждение, когда нужно смонтировать формат. Количество запросов, которые нужны для ожидания формата, заданные как integer и minutes, представляют собой число минут между повторными предупреждениями.

Примечание

Если вы хотите отослать сообщение почтой или написать сообщение another (другому) лицу, когда нужен формат, используйте третью из перечисленных команд:

-A 'mail user-name'

или

-A 'write user-name'

После запуска механизма получения повторных предупреждений вы можете дать указание LP прекратить отсылку ваших предупреждений в текущем случае, если просто дадите команду:

/usr/sbin/lpforms -f form-name -A quiet

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

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

Если form-name - это all во всех из вышеприведенных команд, то условие использования предупреждений применяется ко всем форматам.

Вывод формата на экран

Выбор list из меню позволяет выводить на экран определение любого или всех форматов в системе (значение по умолчанию - all).

Выведение формата на экран с помощью команды

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

Команда Ipforms отображает определение формата в том виде, который подходит для повторного ввода. Команда Ipstat отображает текущее состояние формата.

Чтобы проверить определенную форму, используйте одну из команд:

/usr/sbin/lpforms -f form-name -1

/usr/sbin/lpforms -f form-name -1 (optional)>flie-name

Ipstat -f form-name

Ipstat -f form-name -1

Alignment pattern не демонстрируется, если команда Ipstat используется для защиты любого потенциально чувствительного содержимого.

Удаление формата

Чтобы удалить формат, нужно выбрать remove из меню (и введите имя формата, который нужно удалить) или используйте следующую команду:

/usr/sbin/lpforms -f form-name -x

Выполнение ежедневных операций сервиса принтера

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

3 Perform Dally Printer Service Operations

accept - Allow Class(es) and/or Prlnter(s) to Accept Print Requests

control

- Start (Stop) the Printer Service
disable - Disable Printer from Printing
enable

- Enable Printer for Printing

mount - Mount Form or Font on a Printer
reject - Stop a Printer from Accepting Print Requests
set default

- Set the Default Printer Destination

unmount - Unmount a Form or a Printwheel from a Printer

Принятие запросов для принтера или класса принтеров

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

После того, как условие, ведущее к отказу запросов, будет исправлено или изменено, выбирайте или эту опцию меню (и назовите принтер или класс, которые будут запускаться), или введите команду:

/usr/sbin/accept printer-or-class-name

Вы можете принять запросы для нескольких принтере) или классов в одной команде, перечислив их имена на той же строке.

Запуск или остановка сервиса принтера

Опция меню control или запускает сервис принтера, если он не функционирует, или останавливает его работу, если он функционирует.

Этот выбор эквивалентен выполнению команды /usr/lib/lp/lpsched, которая запускает сервис принтера, или команде /usr/sbin/Ipshut, которая останавливает сервис принтера.

Запрещение использования принтера

Выбор disable приведет к немедленной остановке работы указанного принтера. Когда вы выбираете эту опцию, вам нужно будет заполнить следующую форму:

4 Disable Printer from Printing

Printer:

What should happen to any requests pending? restart

Reason for disabling

Команда, запрещающая работу принтера, следующая:

disable printer-name

Разрешение использования принтера

Выбор enable приведет к возобновлению работы указанного принтера. Команда, разрешающая работу принтера, имеет следующий вид:

enable printer-name

Примечание

При инсталляции вы можете разрешить или запретить использование принтеров всеми пользователями (all).

Монтирование формата или шрифта

Прежде чем LP запустит файлы распечатки, которым нужны предварительные форматы распечатки или печатные колеса, вам необходимо будет смонтировать их в принтере.

В том случае; если в формате или печатном колесе был установлен механизм предупреждения, вы получите предупреждение, когда достаточное количество запросов будет организовано в очередь, ожидая монтирования. Выбор mount выведет на экран нижеприведенный формат, который вы должны заполнить (font и print wheel являются синонимами):

4 Mount Form or Font

Printer:

Form to be mounted: Printwheel to be mounted: Print an alignment pattern: no

Монтирование формата или печатного колеса предполагает сначала их загрузку в принтер, а затем уведомление LP о том, что они смонтированы.

Вполне разумным первым шагом является запрещение работы принтера. Чтобы проинформировать LP, что формат или печатное колесо смонтированы, при помощи команды введите следующее:

/usr/sbin/lpadmin -p printer-name -М -S print-wheel-name

-f form-name -а -о filebreak

Оставьте без внимания -S print-wheel-name, если вы монтируете только формат, или оставьте -f form-name -а -о filebreak, если монтируете только колесо.

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

Параметр -о filebreak просит сервисные средства принтера LP добавить "formfeed" после каждой копии значения выравнивания, если такие существуют. Вас попросят нажать клавишу возврата, прежде чем будет распечатана каждая копия значения выравнивания.

Фактическая управляющая последовательность, используемая для "formfeed" (подача формата), зависит от действующего принтера, и бывает получена из базы данных terminfo. Если значение выравнивания уже включает "подачу формата", оставьте параметр -о filebreak без внимания.

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

Отказ запросам для принтера или класса принтеров

Для того, чтобы остановить принятие любых новых запросов для принтеров или класса принтеров, выберите reject из меню, или сделайте это с помощью команды.

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

При использовании команды, наберите:

/usr/sbln/reject -r "reason" prlnter-or-class-name

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

reason (причина) будет будет выводиться на экран каждый раз, когда кто-то будет пытаться распечатать файл на принтере. Если вы не хотите указывать причину, не используйте -r.

Любые текущие запросы, организованные в очередь для принтера, будут продолжать распечатывать до тех пор, пока работа принтера разрешена.

Установка пункта назначения по умолчанию

Выбор set default из меню позволяет указать пункт назначения запросов на распечатку, когда он не задается специально. Сначала должен существовать принтер или класс принтеров.

Вы также можете сделать это, установив переменную командного файла LPDEST или с помощью команды.

Дайте принтеру или классу принтеров пункт назначения по умолчанию, введя следующую команду:

/usr/sbin/lpadmin -d printer-or-class-name

Если вы позже решите, что пункт назначения по умолчанию не нужен, введите нулевой printer-or-class-name как в следующей команде:

/usr/sbin/lpadmin -d

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

Размонтирование формата или шрифта

Выбор unmount позволяет указать, что формат или шрифт на указанном принтере, должен быть размонтирован.

Если вы хотите размонтировать формат или печатное колесо с помощью команд, используйте следующую:

/usr/sbin/lpadmin -p printer_name -М -S none -f none

Необходимо оставить без внимания "-S попе", если вы хотите размонтировать только формат. Если вы хотите размонтировать только печатное колесо, оставьте без внимания "-f none".

Конфигурации принтеров для сервиса принтеров

Рассмотрим как добавлять новые принтеры, модифицировать их конфигурацию, выводить их конфигурацию на экран или удалить их из системы. Меню такое:

3 Configure Printers for the Printer Service

add - Add a New Printer
list - Display Printer Configuration Information
modify - Modify Printer Configuration
remove - Remove Printer

Добавление нового принтера

В тот момент, когда вы выбираете опцию меню add, вы получаете нижеприведенный экран:

4 Add a New Printer

Printer name: <this-is-mandatory>

System name:

Printer type: unknown

Similar printer to use for defaults)! none

Do you want to use standart configurations (eg alerts, banners)? yes

Do you want to use standart port settings (eg baud rate, parity)?

yes

Device or Basic Networking Address: <this-is-mandatory>

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

Имя принтера

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

/usr/sbin/lpadmin -p printer-name [-vdevice][-U dialout]

Имя системы

Имя системы является идентификатором компьютерной системы, к которой этот принтер подсоединяется. Команду uname можно использовать для обнаружения имени системы.

Тип принтера

LP использует тип принтера для извлечения информации о принтере из базы данных Terminfo. Эта информация описывает возможности принтера так, что вы можете получить предупреждение, если какая-то информация о конфигурации, которую вы даете, не подходит вашему принтеру.

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

Тип принтера является групповым именем для принтера.

Команда для указания типа принтера имеет следующий вид:

/usr/sbin/lpadmin -p printer-name -Т printer-type

Если вы не определяете тип принтера, используется тип по умолчанию unknown.

Сходный принтер, используемый по умолчанию Нажатие CHOICES даст вам список принтеров системы, плюс дополнительный выбор "попе". Выберите один из них в качестве вторичного принтера по умолчанию. Значение по умолчанию - "попе".

Нестандартные конфигурации

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

5 Configure Printer "id," Local Printer Subtask

Class: none

Description of the printer:

Printer type: unknown

File types printable without filtering: simple

Can a user skip the banner page? no

Default character pitch: Use printer defaults

Default line pitch: Use printer defaults

Default page width: Use printer defaults

Default page length: Use printer defaults

Command to run for alerts: "mail Ip"

Frequency of alert (in minutes): once

Printer recovery method: continue

Is the printer also a login terminal? no

Примечание

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

Вы можете увидеть сообщение, когда используете команду Ipstat -D -p printer-name.

Для того, чтобы добавить описание при помощи команды, при добавлении принтера, наберите следующее:

/usr/sbin/lpadmin -p printer-name -D 'text'

File Types Printable Without Filtering

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

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

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

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

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

По команде укажите список типов содержимого следующим образом:

/usr/sbin/lpadmin -p printer-name -I content-type-list

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

Banner Necessary

Заглавная страница показывает, кто запрашивает распечатку ID запроса, и когда он был распечатан, а также разрешает использование необязательного заголовка, который может использовать тот, кто запрашивает печать, чтобы облегчить идентификацию распечатки. Выбирайте или параметр no-banner или введите:

/usr/sbin/lpadmin -p printer-name -о nobanner

Если вы позднее передумаете, то можете удалить этот выбор, введя команду:

/usr/sbin/lpadmin -p printer-name -о banner

Default Printing Attributes

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

Вы можете самостоятельно указать: ширину страницы, длину страницы, шаг расположения символа, а также шаг строки.

Первые два параметра можно задать в колонках и строках, дюймах или сантиметрах.

Последние два задаются как символы и строки на дюйм или на строку.

Кроме того, шаг расположения символа можно указать как "pica" для 10 символов на дюйм, "elite" для 12 символов на дюйм или сжатый для максимального символа на дюйм, который может обеспечить принтер (вплоть до предельных 30 символов на дюйм).

С помощью команд вы можете установить значения по умолчанию таким образом:

/usr/sbin/lpadmin -p pointer-name -о width=scaled-number

/usr/sbin/lpadmin -p printer-name -о length=scaled-number

/usr/sbin/lpadmin -p printer-name -o cpi=scaled-number

/usr/sbin/lpadmin -p printer-name -o lpi=scaled-nui"ber

Добавьте букву "i" к scaled-number, которая будет указывать дюймы или букву "с", указывающую сантиметры. Буква "i" для шага расположения символа (cpi) или шага строки (Ipi) является избыточной. Вы также можете задать "pica", "elite" или "compressed" вместо числа для шага расположения символа.

Fault Altering

LP обеспечивает основу для выявления сбоев принтера и предупреждения о их возникновении.

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

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

Без фильтра, который обеспечивает очень хорошее выявление сбоев, LP не может автоматически определить когда произошло гашение сбоя, за исключением попытки

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

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

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

/usr/sbin/lpadmin -p printer-name -A mail -W minutes

/usr/sbin/lpadmin -p printer-name -A write -W minutes

/usr/sbin/lpadmin -p printer-name -A 'command' -W minutes

/usr/sbin/lpadmin -p printer-name -A none

Первые две Команды дают указание LP отослать почтовое сообщение или записать сообщение прямо в ваш терминал.

Третья команда дает указание LP запускать command для каждого предупреждения, minutes - это число минут между повторными предупреждениями.

Четвертая команда дает указание LP не отсылать вам предупреждение при возникновении сбоя.

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

/usr/sbin/lpadmin -p printer-name -A quiet

Если printer-name - all в любой из вышеуказанных команд, условие использования предупреждения будет применяться во всех принтерах.

Fault Recovery

Из меню вы можете ввести "continue", "restart" или "wait", представляющие собой методы восстановления после сбоев.

Примечание

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

Чтобы указать способ, которым LP должна восстанавливаться после гашения сбоя, введите одну из следующих команд:

/usr/sbin/lpadmin -p printer-name -F continue

/usr/sbin/lpadmin -p printer-name -F beginning

/usr/sbin/lpadmin -p printer-name -F wait

Эти команды дают соответственно LP указания продолжить с верхней части страницы, вновь начать с самого начала или подождать, пока вы введете команду enable для повторного разрешения использования принтер

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

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

Adding a Printer to be Used as a Login Terminal

Если принтер используется в качестве терминала регистрации, ответьте yes в формате конфигурации. Чтобы выполнить это с помощью команды, наберите:

/usr/sbin/lpadmin -р printer-name -v path-name -1

path-name - это имя специального файла, представляющего порт принтера; -1 указывает, что принтер должен запрещаться автоматически когда LP запускается, разрешая регистрацию пользователям. Принтер/терминал придется разрешать вручную, прежде чем он сможет использоваться для распечатки.

Нестандартные установки порта: Характеристики порта принтера

Если вы выбираете non-standard port settings, вы получите нижеприведенный формат, который позволяет указать каждую установку порта для принтера. Эти характеристики определяют линии связи низкого уровня с принтером.

5 Printer Communication Setup Subtask

Printer:

<id>
Baud rate: 9600
Parity: none
Stop bits: 1
Character size: 8
Hangup on loss of carrier: yes
XON/XOFF output control: yes
Allow any character to restart output: no
Postprocess output: no
Map NL to CR-NL on output: yes
Map lower case to upper case on output: no
Carriage return delay: none
Newline delay: none
Backspace delay: none
Formfeed delay: none
Vertical tab delat: none
Horizontal tab delay: expend
Other options:

Стандартная программа использует команду stt для инициации порта принтера, давая минимально установку скорости передачи и некоторые другие характеристики по умолчанию.

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

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

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

/usr/sbin/lpadmin -p printer-name -о

"stty='stty-option-list'"

Двойные и одинарные кавычки нужны, если вы даете несколько элементов в stty-option-list.

Метод соединения:

Устройство или адрес базовой сети

LP позволяет подсоединять ваш принтер несколькими способами. Самый простой - это подсоединить принтер прямо к компьютеру.

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

Метод по умолчанию - это прямое подсоединение принтеров к компьютеру. Если для подсоединения своего принтера к компьютеру вы хотите использовать этот метод, в целом вам нужно сделать всего одну вещь: дать имя соединяющему порту.

Имеется два способа выполнить непрямое соединение: через модем набора номеров или через любой другой тип сети. LP использует утилиты базовой сети (BNU) для обработки обоих методов непрямых соединений.

Добавление прямо подсоединенного принтера

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

/usr/sbin/lpadmin -p printer-name -v path-name

path-name - это имя специального файла, представляющего адрес устройства. Как правило, это бывает один из следующих файлов:

/dev/ttyOO /dev/tty01 /dev/lp

Добавление удаленного принтера

Для того, чтобы добавить удаленный принтер, введите имя файла, содержащего его адрес в базовой сети. Чтобы добавить принтер, который подсоединяется через модем или сеть, введите имя системы, которое введено в Systems базовой сети, или наберите:

/usr/sbin/lpadmin -p printer-name -U dial-info

dial-info - это или номер телефона, который надо набрать, чтобы достичь модема принтера или имя системы, введенное в файл Systems базовой сети, для принтера.

Вы должны ввести команду Ipadmin с параметром -U или -v. И, если вы не задаете параметр -1, LP предположит, что принтер не используется в качестве терминала регистрации.

Вывод на экран информации о конфигурации принтера

Чтобы вывести на экран информацию о конфигурации, или выберите опцию list из меню Priter Configuration, или используйте команду Ipstat, чтобы проверить и конфигурацию и текущее состояние принтера.

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

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

Ipstat -p printer-name Ipstat -p printer-name -1

Вторая команда - это длинная форма команды. С помощью меню или команды вы увидите одну из следующих строк вывода:

printer printer-name now printing request-id, enabled

since date.

printer printer-name is idle, enabled since date, printer printer-name disabled since date.

reason printer printer-name waiting for auto-retry.

reason

waiting для вывода auto-retry показывает, что сервис печати LP потерпел неудачу при попытке использовать принтер и, что сервис предпримет еще одну попытку.

При использовании длинной формы команды вы также увидите нижеприведенный вывод:

Смонтированный формат:

form-name

Типы содержимого:

content-type-list
Тип принтера: printer-type
Описание: comment
Соединение: connection-info
Интерфейс: path-name
При сбое: alert-method
После сбоя: fault-recovery
Пользователи, которым разрешен доступ: user-list
Разрешенный формат: form-list
Требуемая заглавная страница:
Наборы символов: character-set-list
Шаг по умолчанию: integer CPI, integer LPI
Размер страницы по умолчанию: scaled-decimal-number wide,

scaled-decimal-number long

Установки порта по умолчанию:

stty-option-list

Модификация конфигурации принтера

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

При использовании меню на экран выводится следующее:

5 Modify Printer <printer-id> Subtask

configure - Local Printer Configuration Subtask
configure - Remote Printer Configuration Subtask
comm-setup - Local Printer Configuration Subtask
charset - Software Selectable Character Set Aliasing

Subtask

printwheel

- Removable Printwheel Naming Subtask

access

- Printer Access Setup Subtask

Опции configure и comm-setup дают те же характеристики, что описаны при добавлении принтера.

Наборы символов или печатные колеса

При добавлении принтера, вы можете указать какие печатные колеса, кассеты шрифтов или наборы символов доступны принтеру. Все они взаимно исключают друг друга; только что-то одно предполагается использовать в каждом принтере.

С точки зрения LP, однако, печатные колеса и заменяемые кассеты шрифтов обрабатываются одинаково, т.к. оба требуют вашего вмешательства и монтирования нового колеса или кассеты шрифтов.

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

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

lin Если принтер имеет монтируемые колеса, вам нужно просто перечислить их имена.

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

TERM=priner-type tput csnm 0

printer-type - это имя типа интересующего вас принтера. Имя 0-го набора символа (набор, получаемый по умолчанию после инициации принтера) следует распечатать.

Повторите команду, используя 1, 2, 3 и т.д. вместо 0, чтобы увидеть имена других наборов символов. В целом, имена Tenninfo близко согласуются с именами, используемыми в документации пользователя принтера.

Примечание

Чтобы сервис LP мог найти имена в базе данных Terminfo, вы должны указать тип принтера.

Чтобы указать список имен печатных колес при добавлении принтера, используйте следующую команду:

/usr/sbin/lpadmin -p printer-name -S print-wheel-list

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

Чтобы указать список имен наборов символов и преобразовать их в имена или числа Terminfo, используйте следующую команду:

/usr/sbin/lpadrain -p printer-name -S character-set-list

character-set-list - это также список имен, отделенных запятой или пробелом; однако, каждый элемент списка выглядит следующим образом:

csN=character-set-name/

cha racte r-set-name1=characte r-set-name2

N в первой строке это число от 0 до 63, который идентифицирует номер набора символов в базе данных Terminfo. character-set-namel во второй строке идентифицирует набор символов по его имени Terminfo. В обоих случаях имя справа от знака "-" - это имя, которое вы выбираете в качестве альтернативы набора символов.

Примечание

Вам не нужно обеспечивать список альтернативных имен наборов, если имена Terminfo являются адекватными. Вы можете обращаться к набору символов по номеру, имена Terminfo или по вашему альтернативному имени.

Чтобы определить синонимы, используйте следующую команду:

/usr/sbin/lpadmin -p printer-name english=british"

-S "csO=american,

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

Указание доступа к форматам и пользователям

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

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

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

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

/usr/sbin/lpadmin -p printer-name -f allow:form-list

/usr/sbin/lpadmin -p printer-name -S deny:form-list

form-list - это список имен форматов, отделенных запятой или пробелом. Если вы используете пробелы для отделения имен друг от друга, заключите весь список (включая allow: или deny:, но не -f) в кавычки.

Первая команда добавляет имена к списку разрешений и удаляет их из списка запрещений.

Вторая команда добавляет имена в список запрещений и удаляет их из списка разрешений. Для возможности использования всех разрешенных форматов, укажите allow:all; чтобы запретить разрешение всех форматов, укажите deny:all.

Если вы не добавляете форматы в списки разрешений или запрещений, LP предположит, что принтер отказывается от использования всех форматов.

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

Ограничение доступа пользователя

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

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

/usr/sbin/lpadmin -p printer-name -u allow:user-list

/usr/sbin/lpadmin -p printer-name -и deny:user-list

user-list - это список имен пользователей, отделенных запятой или пробелом. Если вы не добавляете имен пользователей в списки разрешений или запрещений, LP предполагает, что все могут использовать принтер.

Подзадание установки доступа к принтеру

Это программа, которую использует LP для управления принтером прежде, чем он будет использоваться, или после того, кафбудет выведен из нормального состояния. Она имеет четыре основных задания:

/usr/sbin/lpadmin -p printer-name -i interface

Чтобы идентифицировать настроенную программу интерфейса по ссылке к другому принтеру, дайте имена принтеров:

/usr/sbin/lpadmin -p printer-namelP -e printer-name21

printer-namel необходимо заменить на имя принтера, который вы добавляете;

printer-name! "еобходимо заменить на имя принтера, уже добавленного, который использует настроенную программу интерфейса.

Чтобы идентифицировать программу интерфейса по ссылке к программе интерфейса - модели, дайте имя принтера и имя модели, следующим образом:

/usr/sbin/lpadmin -p printer-name -m model-name

Удаление принтера

Можно удалить принтер, если у него нет ожидающих распечатки запросов. Если имеются ожидающие запросы, при использовании команд вам сначала нужно перевести их в другой принтер или класс принтеров с помощью команды Ipmove или удалите их, используя команду cancel. Также вы можете переместить их с помощью меню, используя опцию requests из меню Printer Services.

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

Для того, чтобы удалить принтер, используя меню, выберите remove из меню. Этот выбор выведет на экран формат, подсказывая идентифицировать те принтеры, которые удаляются.

Чтобы удалить принтер по команде, введите следующее: .

/usr/sbin/lpadmin -x printer-or-class-name

Присваивание приоритетов в очереди на распечатку пользователям

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

Каждому запросу можно дать уровень приоритета (число от 0 до 39, где 0 соответствует наивысшему уровню), это делает тот человек, который предписывает запрос.

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

Вы можете определить следующие характеристики этой схемы:

Присваивание приоритетов запросам на распечатку с помощью меню

Выбор priorities из меню Printer Services выводит на экран следующее:

3 Assign Queue Priorities to Users
default - Set System Default Priority
list - List Priority Limits for Users
remove - Remove Users Priority Limit
system - Set System Priority Limit
users - Set User(s) Priority Limit

default - устанавливает уровень приоритета на значение по умолчанию, равное 20;

list - это дает следующий экран:

4 Priority Limits for Users

Default priority is <default-priority> Priority limit for users not listed below is 0

Priority Users u1, u2, ....

P1 u3

P2

.

.

.

Присваивание приоритетов с помощью команд shell

Формат команды:

/usr/sbin/lpusers -q priority-level

где prioriry-level - число от 0 до 39, более низкие числа соответствуют более высокому приоритету.

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

Если вы не устанавливаете приоритет по умолчанию, LP будет использовать значение 20.

Данная команда соответствует функции меню Setting a Default Limit.

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

/usr/sbin/lpusers -1

Данная команда соответствует функции меню Listing User's Priorities.

Для того, чтобы восстановить предел приоритетов пользователя на значение по умолчанию, введите:

/usr/sbin/lpusers -u имг-пам

Данная команда соответствует функции меню Removing User's Priorities.

Вы также можете установить приоритет по умолчанию, который следует присвоить тем запросам, которым не предписан приоритет. Используйте нижеприведенную команду:

/usr/sbin/lpusers -d priority-level

Данная команда соответствует функции меню Setting the System Priority Level.

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

Функции Setting User's Priority Limits соответствует следующая команда:

/usr/sbin/lpusers -d priority-level -u user-name

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

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

Управление действующими запросами на распечатку

Если вам неожиданно потребуется остановить прием запросов для принтера или перевести запросы с одного принтера на другой, то вы можете управлять очередями запросов с помощью команды, или выбрав requests из меню Printer Services, которое имеет следующий вид:

3 Manage Active Print -Requests

cancel - Cancel Print Requests
hold - Place Pending Print Requests' on Hold
move - Hove Print Requests to a New Destination
release - Release Hold Print Requests

Вы можете отменить запросы для конкретных принтеров, выбрав функцию cancel, или введя имена этих принтеров.

Введя следующую команду, вы можете также отменить запросы:

Ipstat -о

для идентификации запросов, и команду:

cancel request-id

для отмены запроса с идентификатором request-id.

Задержка запроса

Любой запрос, который не завершил распечатку, можно задержать. Вы можете прекратить его распечатку, если он это делает в текущий момент, и удержать его от распечатки, пока вы ее не возобновите. Пользователь также может задержать свой запрос, а затем возобновить его распечатку, но не может возобновить тот запрос, который был задержан вами.

Для задержки запроса используется следующая команда:

lp -i request-id -H hold

Освобождение задержанных запросов на распечатку

Освободить задержанные запросы можно с помощью меню или введя команду:

lp -i request-id -H resume

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

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

lp -i request-id -Н resume -Р starting-page-

Конечный дефис нужен для указания начальной страницы и всех последующих страниц.

Вы также можете запросить команду:

lp -i request-id -H immediate

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

Примечание

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

Перемещение запросов в новый пункт назначения

Если вам нужно переместить запросы с одного принтера или класса принтеров на другой, или выбирайте move из меню Print Requests, или вводите следующие команды:

/usr/sbin/lpmove request-id printer-name

/usr/sbin/lpmove printer-namel printer-name2

В первой команде можно дать несколько идентификаторов запросов перед именем принтера.

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

Вторая - перемещает все запросы в текущей очереди для первого принтера во второй принтер.

Когда используется вторая команда, LP не будет уже принимать запросы для первого принтера. Если вы выбираете move из меню, вы будете заполнять формат принтеров, из которых будут перемещаться запросы, идентификаторы запросов а также пункт назначения нового принтера.

Изменение приоритета запроса

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

Когда вы выбираете requests из меню, это дает вам подменю Request Priorities. Это меню позволяет изменять приоритет любого ожидающего запроса.

При использовании команды вы можете ввести следующую, изменяющую приоритет запроса:

lp -i requestid -q new-priority-level

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

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

Перемещение запроса в начало очереди

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

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

lp -i request-id -H immediate

Только вы можете перемещать запрос таким образом; постоянные пользователи не могут использовать параметр -H immediate.

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

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

1. Задержите все запросы, кроме того, который хотите переместить.

Это автоматически переместит его в начало очереди.

2. Удалите задержку всех других запросов.

Вывод на экран состояния сервиса принтера

Выбор Display Status из меню Printer Service дает:

3 Display Status of Printer Services

forms - 'Display Forms Status

printers - Display Printers Status

requests - Status of Print Requests

wheels - Status of Printwheels and Character Sets

Выбор каждой из опции соответственно дает:

форматы, которые в настоящий момент вам доступны;

доступность каждого принтера;

список текущих ожидающих в очереди запросов на распечатку;

доступные наборы символов и печатных колес.

Создание конфигурации линии связи с удаленными системами

Базовое меню, используемое для управления конфигурацией удаленного принтера, следующее:

3 Configure Connection to Other System

add - Add a New System Connection

list - Display Available System Connections

modify - Modify System Connetcion

remove - Remove System Connection

Добавление связи с новой системой

Когда используется модем коммутируемой линии, следует соблюсти три условия:

Из-за того, что программа си обращается к принтеру так же, как это делает сервис принтера LP, вам следует установить файлы так же, как при подготовке обращения к принтеру программы си.

Команда си не используется для обращения к принтерам, но может служить критерием при установке файлов: если си может обратиться к принтеру, LP также будет в состоянии обратиться к нему. Выбор add дает отображение на экране следующей формы, которую нужно заполнить:

4 Add a New System Connection

System name:

Scheduler type: s5 (or bad)

Connection timeout: n Retry Period:

Принтеры, подсоединяемые через любой другой тип сети, требуют, чтобы "имя системы" было задано для каждого принтера. Это имя элемента в файле Systems или родственного с ним файла.

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

Единственным принимаемым типом планировщика является s5 (Unix System V) или bsd (SunOS). Планировщик s5 является планировщиком по умолчанию.

Период перерыва в линии связи выражается целым числом в минутах или символом "n".

Период повторной nonfcftrot также задаётся числом в минутах или символом "n".

Другие операции установления дистанционной связи:

list отображает информацию об определении каждой из систем дистанционной связи;

modify дает отображение базового определения, позволяя отредактировать любое из относящихся к делу полей;

remove позволяет разъединять вас с любым из принтеров дистанционной связи.

Установка принтера (совместимость сверху вниз)

Выбор preSVR4 из меню Printer Service позволяет включить специальный набор прикладных программ с . обратной совместимостью.

В тот момент, когда вы делаете этот выбор, вам будет выдано предупреждение:

3 Warning

Please note that the following menus are intended to provide backwards compatibility for preSVR4 add-on packages that depend on the existence of the preSVR4 FACE user interface.

It is recommended that you use the other selections provided in the Line Printer Configuration and Operation menu if your package is release 4.0 compatible.

Если вы должны продолжить, то варианты меню preSVR4 для фильтров, форматов и печатных колес будут вам доступны.

Поиск неисправностей

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

Нет вывода - ничего не распечатывается

Принтер бездействует; ничего не происходит. Сначала проверьте документацию, которая поставлена с принтером, на наличие какого-то средства самопроверки, которое вы можете вызвать; проверьте работает ли принтер. Подсоединен ли принтер к компьютеру?

1. Разрешен ли принтер?

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

Второе, LP должен быть готов использовать принтер. Установите принтер. Если вы при выполнении этого 'получите сообщение об ошибках, следуйте тому, что предложено в сообщениях.

Когда вы закончите установку принтера, введите или меню Daily Operations или введите команды:

/usr/sbin/accept printer-name enable printer-name

где printer-name - это имя, которое вы присваиваете принтеру для LP.

2. Правильно ли установлена скорость передачи?

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

Незаконный вывод

Принтер пытается что-то распечатать, но это не то, что. вы ожидаете, и конечно не читаемо.

1. Правильна ли скорость передачи?

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

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

Если скорость передачи не установлена на 9600 бод, вы можете использовать LP, чтобы ее исправить (по умолчанию используется 9600). Если принтер подсоединен через параллельный порт, то значение скорости передачи роли не играет. Чтобы установить другую скорость передачи для использования LP, введите следующую команду:

/usr/sbin/lpadmin -p printer-name -о stty=baud-rate

2. Правильна ли установка контроля четности?

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

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

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

/usr/sbin/lpadmin -p printer-name -о stty=oddp

/usr/sbin/lpadmin -p printer-name -o stty=evenp

/usr/sbin/lpadmin -p printer-name -o stty=-parity

Первая команда устанавливает формирование проверки на нечетность, вторая команда - проверки на четность. Последняя команда устанавливает значение по умолчанию - отсутствие проверки четности.

Выберите команду, которая соответствует требованиям вашего принтера. Если вы устанавливаете скорость передачи, отличную от 9600, сочетайте установку скорости с установками проверки четности, как показано в следующей команде:

/usr/sbin/lpadmin -p printer-name -o "stty='evenp 1200'"

3. Правильно ли установлены метки табуляции?

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

Законная распечатка, но неправильное расположение интервалов

Вывод весь налицо, и он читаемый, но в нем двойные пробелы, отсутствуют левые поля, распечатывается все сраз; или зигзагообразно вниз по странице.

Эти проблемы можно разрешить, осуществив настройку установок принтера (если возможно) или используя LP для согласования установок.

1. Двойной пробел.

Нужно установить параметр -onclr или -tabs:

/usr/sbin/lpadmin -p printer-name -о stty=-onclr

/usr/sbin/lpadmin -p printer-name -о stty=-tabs

2. Отсутствует левое поле/Одновременная распечатка.

Нужно установить параметр -tabs:

/usr/sbin/lpadmin -p printer-name -o stty=-tabs

3. Зигзагообразное движение вниз по странице.

Нужно установить параметр -onclr:

/usr/sbin/lpadmin -p printer-name -o stty=-onclr

Если надо решить сразу несколько проблем, можно указать все необходимые параметры в одной команде, например:

/usr/sbin/lpadmin -p printer-name -o "stty='-tabs -onclr 2400-"

Неправильный набор символов или шрифт

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

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

Если вы не знаете, какой тип принтера надо задать, введите следующую команду:

TERM=printer-type tput longname

Вывод этой команды появится на экране терминала и будет представлять собой короткое описание принтера, идентифицированного "printer-type". Используйте различные имена, пока не найдете то, которое идентифицирует ваш принтер. Список имен можно найти в каталоге /ust/lib/terminfo.

Сбои выходного набора

LP использует утилиты базовой сети для обработки принтеров с выходным набором. Если в наборе возникают сбои, и вы получаете предупреждение о сбоях в принтере, LP сообщает о той же ошибке.

Бездействующие принтеры

Существует несколько причин бездействия принтеров, когда они разрешены, а запросы на распечатку все еще ждут в очереди:

1. Запросы необходимо отфильтровать.

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

Ipstat -о -1

2. Сбой принтера.

Автоматическое продолжение распечатки после выявления сбоя не происходит незамедлительно. LP подождет около пяти минут прежде чем предпринять новую попытку и будет делать это, пока распечатка успешно не завершится. Можно выполнить повторную попытку без промедления с помощью команды:

enable printer-name

3. Принтер был замят или заняты все порты выходного набора.

Также как в предыдущем случае LP ждет пять минут, прежде чем попытаться вновь получить доступ к принтеру. Если это невозможно сделать в течение одного-двух часов (i зависимости от причины), LP наконец предупреждает о возникновении проблемы. Можно выполнить повторную попытку без промедления с помощью команды:

enable printer-name

4. Потерян дочерний процесс.

Если процесс Unix, управляющий принтером, остановлен (системой Unix в периоды крайней загруженности или администратором), LP может не осознавать этого в течение несколько минут.

Запрещение принтера и последующее его разрешение заставит LP проверить наличие управляющего процесса и вновь запустить его.

Убедитесь, что принтер действительно бездействует, т.к. запрещение принтера останавливает его работу в непредсказуемом месте распечатки. Хотя запрос не будет потерян, его придется перепечатать полностью.

disable printer-name ena'ble printer-name

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

Ipstat -о -1

lp -i request-id -H hold

lp -i request-id -H resume

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

Очистка протокола запроса

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

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

Буква Содержимое строки
= Это отделяющая строка, содержащая id запроса id пользователя и групповой id пользователя, полное количество байтов в исходных (неотфильтрованных) файлах, а также время постановки запроса в очередь. Эти элементы отделяются друг от друга запятыми и расположены следующий образом: id пользователя, групповой id, размер файла и предваряются словом uid, gid и size соответственно
C Количество распечатываемых копий
D Пункт назначения принтера или класса принтеров или слово any
F Имя распечатываемого файла. Эта строка повторяется для каждого распечатываемого файла
f Имя используемого формата
Н Тип специальной обработки, называемой по буквам (resume, hold, immediate).
N Тип предупреждения, используемый, когда запрос на распечатку успешно выполнен. Это буква М, если пользователь уведомляется почтой, или W - если пользователь уведомляется сообщением на терминале
О Параметр -о
р Приоритет запроса
Р Список распечатываемых страниц
r Присутствует, если пользователь запросил команду LP с параметром -r
S Используемый набор символов
s Выход запроса в виде сочетания индивидуальных битов, выраженных в шестнадцатеричном виде. Несколько битов используется программой Spooler. Наиболее важные биты имеет значение:

0x0004 - медленная фильтрация успешно завершена

0x0010 - распечатка завершена успешно

0x0040 - запрос отменен

0x0100 - запрос не отфильтрован или не распечатан

Т Заголовок размещен на заглавной странице
t Тип содержимого, находящегося в файла (ах)
U Имя пользователя, выдавшего запрос на распечатку
X Медленен фильтр, используемый для запроса
Y Список специальных режимов, задаваемых фильтрам, используемым для распечатки запроса
y Быстрый фильтр, используемый для запроса
z Принтер, используемый для распечатки запроса. Он будет отличаться от пункта назначения, если запрос ставится в очередь на любой принтер или класс принтеров, или если запрос был перемещен в другой пункт назначения администратором LP

Каталоги /usr/lib/lp/temp и /usr/lib/lp/requests содержат файлы, которые описывают каждый запрос, который был предписан для распечатки.

Каждый запрос имеет два файла, по одному в каждом каталоге, которые содержат информацию об этом запросе.

Файл запросов в каталоге /usr/lib/lp/temp защищен от доступа любого, за исключением пользователя, который выдал этот запрос, а файл в /usr/lib/lp/requests защищен даже от пользователя, выдавшего запрос.

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

Настройка сервиса принтера

Хотя LP отвечает большей части требований к распечатке, существуют принтеры, которые не совсем соответствуют способу обработки принтеров сервисом LP.

Можно осуществить настройку LP несколькими способами. Далее рассказывается, как вы можете:

Как LP обрабатывает файл запроса

Каждый запрос отсылается в spooling daemon, который следит за всеми запросами. Следящий процесс (демон) создается, когда вы запускаете сервис принтера LP. Этот процесс системы Unix также отвечает за наблюдение состояния принтеров и медленных фильтров; когда принтер заканчивает распечатку файла пользователя, демон запустит на нем распечатку другого запроса, если он есть в очереди.

Вы можете настроить сервис принтера, если настроите или замените некоторые из элементов процесса.

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

Для принтеров, которые не представлены в базе данных Terminfo, вы можете добавить новый элемент, который описывает возможности принтера.

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

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

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

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

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

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

Настройка характеристик порта принтера

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

Это не является шагом настройки, т.к. стандартным свойством LP является предоставление вам возможности указать установки порта для каждого принтера. Однако, это является важным шагом в подготовке вашего принтера к работе с LP.

В тот момент, когда вы добавляете новый принтер, ознакомьтесь с документацией к нему, чтобы иметь представление о том, что он ожидает от главной машины. Затем изучите команду stty. Она сводит воедино различные характеристики, которые невозможно установить на терминале или в порт принтера.

В следующей таблице перечислены параметры команды stty, имеющие значение для принтеров.

Параметр stty Значение
evenp Отсылает проверку на четность в 8-м разряде Отсылает проверку на нечетность в 8-м разряде
oddp Не формирует разряда четности, посылает все 8 разрядов без изменений
-parity Устанавливает скорость в линии передачи на эту скорость передачи
110 - 38400 Разрешает управление потоками XON/XOFF (также известное как START/STOP или DC1/DC3)
ixon Отключает управление потоками XON/XOFF
-ixon -opost Не выполняет "постобработку вывода"
opost Выполняет "постобработку вывода"' согласно установкам
onclr Вставляет символ "возврат каретки" перед любым символом "перевод строки"
-onclr He вставляет символ "возврат каретки"
ocrnl Изменяет символ "возврат каретки" на символ "перевод строки"
-ocrnl He изменяет символ "возврат каретки" на символ "перевод строки"
-tabs Заменяет метки табуляции на эквивалентное число пробелов
tabs He заменяет метки табуляции на пробелы

Настройка базы данных Terminfo

LP полагается на стандартный интерфейс и базу данных Terminfo при инициации каждого принтера и установке выбранного размера страницы, шага расположения символов, шага строки и набора символов.

Как правило, бывает достаточно сделать правильный ввод элементов в базу данных Terminfo, чтобы добавить новый элемент к LP. Несколько элементов принтеров AT&T поставляются вместе с элементами Treminfo в пакете LP,

Любой принтер идентифицируется в базе данных Terminfo по короткому имени; этот вид имени идентичен тому, которое используется для установки переменной командного файла TERM. Например, принтер AT&T модель 455 идентифицируется по имени 455.

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

Иным вариантом, которым можно воспользоваться вместо обновления элемента Terminfo, это настроить программу интерфейса, используемую с принтером.

В таблице ниже перечислены элементы, которые нужно определить, прежде чем добавить новый принтер в базу Terminfo.

Элемент Terminfo Значение
daisy Принтеру нужен оператор, чтобы изменить набор символов
bufsz Число байтов, помещаемых в буфер перед распечаткой
* cols Число колонок в строке
* it Метки табуляции, используемые вместо пробелов
* lines Число строк на странице
ore

Разрешающая способность по горизонтали в единицах на символ

orchi Разрешающая способность по горизонтали в единицах на дюйм
orl Разрешающая способность по вертикали в единицах на символ
orvi Разрешающая способность по вертикали в единицах на дюйм
cps Средняя скорость распечатки в символах
* cr Возврат каретки
cpi Изменение числа символов на дюйм
Ipi Изменение числа строк на дюйм
chr Изменение разрешающей cпособности по горизонтали
cvr Изменение разрешающей способности по вертикали
csnm Список имен набора символов
mgc Очистка всех полей (верхних, нижних и боковых)
* hpa Абсолютная позиция по горизонтали
* cudl На одну строку вниз
* cufl Каретку вправо
swidm Разрешение печати удвоенной ширины
rwidm Запрещение печати удвоенной ширины
* ff Выдача страницы
* is1 Строка инициации принтера
* is2 Строка инициации принтера
* is3 Строка инициации принтера
* if Имя файла инициации
* iprog Полное имя программы инициации
* cud Перемещение каретки на # строки вниз
* cuf Перемещение каретки на # строки вправо
* rep Повтор символа # раз
* vpa Абсолютная позиция по вертикали
scs Выбор набора символов
smgb Установка нижних полей на текущей строке
smgbp Установка нижних полей
smgl Установка левых полей в текущей колонке
smglp Установка полей слева
smgr Установка правых полей в текущей колонке
smgrp Установка полей справа
smgt Установка верхних полей на текущей строке
smgtp Установка верхних полей
scsd Запуск определения набора символов
* ht Метка табуляции для следующих 8 пробелов

Те элементы, которые помечены звездочкой (*), имеются во всех версиях Unix System V. Остальные можно добавить только, если вы используете систему Unix System V версии 3.2 или более поздние.

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

tic filename

где filename - это имя файла, содержащего элемент Terminfo для нового принтера.

Примечание

Сервис принтера LP работает наиболее эффективно, если кэширует информацию из базы данных Terminfo. Если вы добавляете или удаляете элементы из Terminfo или изменяете значения, управляющие установками шагов, шириной и длиной страницы вам следует перезапустить LP, чтобы он использовал новую информацию.

Как написать программу интерфейса

Если у вас есть требования к печати, которые не поддерживаются стандартной программой интерфейса, вы можете создать свою собственную программу интерфейса, взяв стандартную программу и настроив ее в соответствии ее своими требованиями. Копия программы находится в файле: /usr/lib/lp/model/standard.

Что делает программа интерфейса

Любая программа интерфейса выполняет следующие действия:

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

Соединение порта принтера задается программе интерфейса как стандартный вывод, и принтер устанавливается как управляющий терминал для программы интерфейса и тогда "зависание" порта даст сигнал SIGHUP, который должен отсылаться в программу интерфейса.

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

Как использовать программу интерфейса

Программа интерфейса вызывается следующим образом:

/usr/sbin/lp/admins/lp/interface/P id user title copies \

options filel file2 ...

где:

В тот момент, когда вызывается программа интерфейса, ее стандартный ввод идет из /dev/null, стандартный вывод направляется в порт принтера, а стандартный вывод ошибок направляется в файл, который задается пользователем, выдающим запрос на распечатку.

Параметр options стандартной программы интерфейса может принимать следующие значения:

Дополнительная информация о конфигурации принтера передается программе интерфейса в переменных командного файла:

TERM=printer-type

Указывает тип принтера. Это значение используется для получения информации о возможностях принтера из базы данной Terminfo.

FILTER='pipeline'

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

CHARSET=character-set

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

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

Настройка программы интерфейса

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

Стандартная программа интерфейса делает это, и вы можете последовать этому примеру. Найдите часть, которая начинается с комментария командного файла:

## Initialize the printer port

Выполняйте код, используемый стандартной программой интерфейса. Он устанавливает как режимы по умолчанию, так и настраиваемые режимы, задаваемые с помощью LP или пользователем.строкой следующего вида:

stty mode options 0<&1

Данная командная строка обрабатывает стандартный ввод для команды stty из порта принтера. Пример строки команды stty, которая устанавливает скорость передачи на 1200 и устанавливает некоторые необязательные режимы:

stty -parenb -parodd 1200 cs8 cread clocal ixon 0<&1

Одна из характеристик, не устанавливаемая стандартной программой интерфейса - управление потоками аппаратных средств. Способ ее установки будет различен в зависимости от аппаратных средств вашего компьютера. Найдите часть, которая начинается с комментария командного файла:

# Here you may want to add other port

# initialization code

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

Стандартная программа интерфейса распечатывает заглавную страницу, которая соответствует 80-колоночной странице (за исключением "шапки" пользователя, которая может быть длиннее). Найдите часть в тексте стандартной программы интерфейса, которая начинается с комментария:

# Print the banner page

Ряд прикладных приложений программы, функционирующих с конкретными принтерами, могут потребовать отключения прерывания страницы. Если вы должны отключить прерывание страницы, вы можете модифицировать стандартную программу интерфейса (/usr/Hb/lp/model/standard) на строке 192, изменив "по" на "yes".

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

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

После завершения распечатки ваша программа интерфейса должна выйти с кодом, который сообщает о состоянии выполнения заданий по распечатке. Этот код интерпретируется сервисом LP следующим образом:

Код Значение для LP
0 Запрос выполнен успешно. Если был сбой принтера, он устранен
1 до 127 Возникла проблема с распечаткой этого конкретного запроса

(например, слишком много нераспечатываемых символов или запрос превышает возможности принтера). Эта проблема не повлияет на будущие запросы. LP уведомляет того, кто выдал этот запрос, при его распечатке. Если возник сбой принтера, он устранен

128 Зарезервирован для внутреннего использования сервисом LP
129 При распечатке запроса возник сбой принтера. Это повлияет на будущие запросы. Если механизм восстановления после сбоя даст указание LP Подождать решения проблемы администратором, он запретит использование принтера
более 129 Зарезервировано для внутреннего использования сервисом LP

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

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

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

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

Сообщения о сбоях можно отослать LP с помощью программы Ip.tell. Для обращения к этой программе в стандартной программе интерфейса используется переменная командного файла SLPTELL.

Программа обрабатывает свой стандартный ввод и отсылает его LP, где он помещается в сообщение, предупреждающее администратора о сбое принтера. Если стандартный ввод пуст, Ip.tell не инициирует предупреждение.

Необходимо проверить код стандартной программы интерфейса после комментариев:

# Here's where we set up the SLPTELL programm

# to capture fault messages.

# Here's where we print the file.

При использовании специального кода возврата 129 или программы Ip.tell, уже нет необходимости программе интерфейса запрещать сам принтер. Ваша программа может запретить принтер прямо, но это отменит механизм предупреждения о сбоях. Они отсылаются только, если LP выявляет, что принтер дал сбой, а специальный код и программа Ip.tell являются главными инструментами его выявления.

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


Оглавление

Предыдущая страница

Следующая страница

GNU OCXE GNU LINUX
Сайт управляется системой uCoz