Использование принтеров
Управление классами родственных принтеров
Выполнение ежедневных операций сервиса принтера
Конфигурации принтеров для сервиса принтеров
Присваивание приоритетов в очереди на распечатку пользователям
Управление действующими запросами на распечатку
Вывод на экран состояния сервиса принтера
Создание конфигурации линии связи с удаленными системами
Установка принтера (совместимость сверху вниз)
В этой главе описывается управление принтерами в системе 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 для управления принтером прежде, чем он будет использоваться, или после того, кафбудет выведен из нормального состояния. Она имеет четыре основных задания:
Если вы не выбираете программу интерфейса, используется стандартная программа, обеспечиваемая 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 соответствует наивысшему уровню), это делает тот человек, который предписывает запрос.
Так, если вы решили, что у вашего запроса слишком низкий приоритет, вы можете установить более высокий приоритет (с более низким значением), когда предписываете файл на распечатку.
Вы можете определить следующие характеристики этой схемы:
Вы, возможно, обнаружите, что хотите распечатать критический запрос раньше любых других, даже, если он должен иметь преимущественное право перед текущим запросом на распечатку. Вы можете дать LP "immediate", т.е. немедленная обработка запроса, а другой запрос поставить на "hold" (задержка).
Присваивание приоритетов запросам на распечатку с помощью меню
Выбор 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 уведомит того, кто выдал запрос на распечатку, что запрос завершен неуспешно.