Жанр: Учеба
SCO: Пособие администратора системы Unix
...ll отказывает
всем. Если вы не добавляете имена пользователей в списки разрешений
или отказов, то обслуживание печати предполагает, что
каждый может использовать форму.
Предупреждение о монтировании формы
Если вы определили больше форм, чем принтеров, вы очевидно
не можете печатать файлы на всех формах одновременно. Это означает,
что некоторые запросы печати могут удерживаться в очереди
до монтирования необходимых форм. Вы можете периодически отслеживать
число запросов печати, ждущих некоторой формы, но обслуживание
печати предоставляет более легкий путь.
Вы можете запросить предупреждение, когда число запросов,
ждущих форму, превышает некоторый порог.
Вы можете выбрать один из нескольких способов получения
предупреждения:
- Вы можете получить предупреждение по электронной почте.
Смотрите описание команды mail в главе "Почта".
- Вы можете получить предупреждение, выданное на какой-ли-
бо терминал, к которому вы подключены. Смотрите описание
команды write в наставлении.
- Вы можете получить предупреждение через выбранную прог-
рамму.
- Вы можете не получить предупреждений.
Примечание
Если вы выбрали не получать предупреждение, то вы отвечаете
за проверку того, что увидите, если любые запросы не печата-
ются из-за того, что нужная форма не смонтирована.
В добавление к методу предупреждения вы можете также задать
число запросов, которые должны ставиться в очередь перед
выдачей предупреждения, и вы можете запросить повтор предупреждений
каждые несколько минут до монтирования формы. Вы можете
выбрать скорость повторения предупреждений или можете выбрать
получение только одного предупреждения на форму.
-15-47-
Для задания возможности предупреждения о необходимости
монтирования формы введите одну из следующих команд:
Ъ2/usr/lib/lpforms -f Ъ1form-name Ъ2-A mail -Q Ъ1integer Ъ2-W minutes
Ъ2/usr/lib/lpforms -f Ъ1form-name Ъ2-A write -Q Ъ1integer Ъ2-W minutes
Ъ2/usr/lib/lpforms -f Ъ1form-name Ъ2-A Ъ1'command' Ъ2-Q Ъ1integer Ъ2-W minutes
Ъ2/usr/lib/lpforms -f Ъ1form-name -A none
sysadmsh пользователи выбирают:
Printers--"Auxiliary--"PPforms--"Alerts--"Scecify
(Принтеры--"Вспомогательный--"РРформы--"Предупреждение--"
Задание)
Первые две команды заставляют обслуживание печати посылать
вам почтовое сообщение или писать сообщение прямо на терминал,
соответственно, для каждого предупреждения. Третья команда направляет
обслуживание печати на выполнение command (команды) для
каждого предупреждения. Активная среда оболочки при вводе
третьей команды сохраняется и восстанавливается для выполнения
command (команды), это включает переменные среды, идентификаторы
пользователя и группы и текущее оглавление.
Четвертая команда извещает обслуживание печати не посылать
вам предупреждение в случае необходимости монтирования формы.
integer (целое - это число запросов, которым необходимо ждать
форму, а minutes ( минуты) - это число минут между повторяющимися
предупреждениями.
Примечание
Если вы хотите обеспечить посылку почты или выдачу сообщения
другому лицу при возникновении сбоя принтера, вам следует ис-
пользовать третью из перечисленных команд. Используйте воз-
можность Ъ2-A 'mail username'или -A 'write username'.
После того, как вы начали получать повторяющиеся предупреждения,
вы можете запросить у обслуживания печати останов посылки
предупреждения выдачей следующей команды:
Ъ2 /usr/lib/lpforms -f Ъ1formname -A quiet
sysadmsh пользователи выбирают:
Printers--"Auxiliary--"PPforms--"Alerts--"Terminate
(Принтеры--"Вспомогательный--"РРформы--"Предупреждение--"
Завершить)
-15-47а-
После того, как форма монтирована и размонтирована снова
предупреждения начинаются снова, если ждет слишком много запросов.
Предупреждения также рестартуют, если число ждущих запросов
падает ниже порога -Q и далее поднимается к порогу -Q снова,
когда ждущие запросы отменяются или если изменяется тип
предупреждения.
-15-48-
Если formname имеет значение all в любой из команд, приведенных
выше, то условие предупреждения относится ко всем формам.
Если вы не определили метод предупреждения для формы, вы
не получите предупреждение для нее. Если вы определили метод,
но не задали возможность -W, вы будете получать предупреждение
при каждой ситуации.
Монтирование формы
Обратитесь к разделу "Монтирование формы или печатающего
механизма" разделом ранее в данной главе.
Проверка формы
Вы можете проверить определение формы при добавлении ее к
обслуживанию печати. Имеются две команды в зависимости от проверяемой
информации. Команда lpforms отображает определение
формы. Отображение подходит для повторного ввода, поэтому вы
можете сохранить выход в файле для последующих ссылок. Команда
lpstat отображает текущее состояние формы.
Используйте одну из следующих команд для проверки определенной
формы:
Ъ2 /usr/lib/lpforms -f Ъ1formname -l
Ъ2 /usr/lib/lpforms -f Ъ1formname Ъ2-l"filename
Ъ2 lpstat -f formname
lpstat -f formname -l
sysadmsh пользователи выбирают:
Printers--"Auxiliary--"PPforms--"List
(Принтеры--"Вспомогательный--"РРформы--"Список)
Первые две команды представляют определение формы, вторая
команда хранит это определение в файле, который позднее может
использоваться для переопределения формы, если вы случайно удалите
форму из обслуживания печати. Последние две команды представляют
статус формы, последняя команда дает длинную форму выхода,
аналогичного выходу lpforms -l. Выход выглядит следующим
образом:
-15-48а+--------------------------------------------------
| Page length:ЪЪ1scaled-numberЪ
| Page width: scaled-number
| Number of pages: integer
| Line pitch: scaled-number
| Character pitch: scaled-number
| Character set choice: character-set, mandatory
| Ribbon color: ribbon-color
| Comment: comment
| Alignment pattern: content-type content
1 - длина страницы: масштабированный номер;
2 - ширина страницы: масштабированный номер;
3 - число страниц : целое;
4 - шаг строки: масштабированный номер;
5 - шаг символа: масштабированный номер;
6 - выбор набора символов: набор символов, мандат;
7 - цветовая лента: цветовая лента;
8 - комментарий: комментарий;
9 - образец выравнивания: тип содержимого содержимое.
-15-49-
" Образец выравнивания" не показывается, если команда
lpstat используется для защиты потенциально чувствительного содержимого.
-15-50-
ФИЛЬТРЫ
В данном разделе описывается, как вы можете управлять использованием
фильтров обслуживания печати. Вы можете:
- определить новый фильтр,
- изменить фильтр,
- удалить фильтр, и
- проверить фильтр.
Раздел "Настройка обслуживания печати" в конце данной главы
описывает, как писать фильтр. Сначала рассмотрим, что такое
фильтр и как обслуживание печати может его использовать.
Что такое фильтр?
Фильтр играет три связанные роли:
- Он преобразует файл пользователя в поток данных, который
корректно печатается на данном принтере.
- Он обрабатывает различные режимы печати, которые пользова-
тель может запросить по возможности -y команды lp, такие
как двухсторонняя печать, рельефная печать, печать черте-
жей или печать с высоким качеством символов и так далее.
- Он регистрирует сбои принтера и информирует обслуживание
принтера, что принтер может выдать предупреждающее сообще-
ние.
Не каждый фильтр выполняет все три роли. Однако при условии
специфичной природы принтера в этих трех ролях обслуживание
печати проектировалось, чтобы эти роли разделялись так, чтобы
вы, производитель принтера, или другой источник могли обеспечить
эти фильтры без изменения обслуживания печати.
Обеспечен фильтр по умолчанию с обслуживание печати для
обеспечения простой регистрации сбоев принтера; он не преобразует
файлы или же не обрабатывает специальные режимы. Это может
быть адекватно вашим потребностям.
Рассмотрим эти три роли более подробно.
-15-51Преобразование
файлов
Обслуживание печати позволяет набирать имя каждого принтера,
добавляемого в систему, и позволяет пользователю набирать
имя каждого файла, предназначенного для печати. Эта информация
используется для приведения в соответствие файла и принтера,
который может наилучшим способом воспроизвести файл. Поскольку
многие приложения могут генерировать данные для различных принтеров
часто этого бывает достаточно. Однако, не все приложения,
которые вы используете, могут генерировать выход, который работает
на ваших принтерах.
Определяя и создавая фильтр, преобразующий такой выход в
тип, который ваши принтеры могут обрабатывать, вы можете начать
обеспечивать больше приложений обслуживанием печати. Обеспечивается
небольшой набор простых фильтров, преобразующих выход из
приложений, аналогичных nroff в потоки данных, печатаемые корректно
некоторыми принтерами.
ледовательной линии RS-232 и сделайте его доступным командой
типом входа, который он может принять и типом выхода, который
он может произвести. Теперь обслуживание принтера может быть
более сложным в попытке установить соответствие файла пользователя
и принтера. Если прямое соответствие не обнаруживается, то
обращаются к таблице фильтров для нахождения фильтра, преобразующего
тип фильтра в тип принтера. Имеется несколько примеров.
Пример 1
Пользователь Крис выполнил программу работы с крупноформатными
таблицами и сгенерировал копию файла таблицы. Теперь
Крис хочет печатать этот файл, используя обслуживание печати.
Вы располагаете в системе только принтером модели 455 AT&T. К
счастью приложение, работающее с таблицами, понимает, как генерировать
выход для нескольких принтеров, и Крис знает, как запросить
у нее генерацию файла для AT&T455. Когда Крис посылает
файл на печать, обслуживание печати ставит его в очередь к одному
из принтеров; фильтр не нужен.
Пример 2
Пользователь Марти выполнил программу обработки слов
nroff для получения копии большого документа. Программа nroff
также понимает, как генерировать выход для нескольких принтеров,
но Марти забыл и сгенерировал выходной тип по умолчанию
(назовем
-15-51аэтот
тип nroff35), который не воспроизводится корректно на
AT&T455. Однако вы предвидели эту ситуацию и добавили фильтр
450 в таблицу фильтров, отметив ее, как принимающую стандартный
выход nroff (то есть nroff35) и отметив ее, как производящую
выход для AT&T455 (назовем ее тип 455). Так как вы добавили
принтер, как тип 455, обслуживание печати распознает, что он
может использовать фильтр 450 для преобразования выхода Марти
перед печатью.
-15-52Обработка
специальных режимов
Другой важной функцией, которую могут обеспечить фильтры,
является обработка различных режимов печати, которые могут
встретиться. Каждый фильтр, который вы добавляете в таблицу
фильтров, может быть зарегистрирован, как обрабатывающий несколько
аспектов печати.
Они перечислены ниже:
Входной тип
Выходной тип
Тип печати
Шаг символа
Шаг строки
Длина страницы
Ширина страницы
Страницы для печати
Набор символов
Имя формы
Число копий
Режимы
Фильтр не требуется для обработки большей части этих аспектов,
только режимов. Обслуживание печати предоставляет для
остальных обработку по умолчанию. Однако может оказаться более
эффективным обрабатывать эти ситуации фильтром, или же фильтр
должен знать несколько из этих аспектов, если он правильно выполняет
другие роли. Фильтру может понадобиться знать, например,
размер страницы и интервалы печати, если он собирается
разбивать страницы в файле для соответствия печатным страницам.
Другой пример, некоторые принтеры могут обрабатывать несколько
копий более эффективно, чем обслуживание печати, поэтому
фильтр, контролирующий принтер, может использовать несколько
копий информации для пропуска обработки по умолчанию обслуживанием
печати для этой ситуации.
Позднее мы увидим, как вы можете регистрировать режимы печати
и другие аспекты печати с каждым фильтром.
Регистрация сбоя принтера
Также как преобразование файла и обработка специальных режимов
печати - это специфичная для принтера функция, такой
функцией является и регистрация сбоев принтера. Обслуживание
принтера пытается выполнить эту функцию и для большинства
-15-52апринтеров
корректно регистрирует сбой. Однако оно ограничивается
проверкой зависаний (потеря носителя или сигнала о готовности
принтера) и чрезмерными задержками в печати (то есть получение
управляющего символа XOFF для отключения потока данных,
когда нет соответствия XON для повторного включения потока).
Обслуживание принтера не может также определить причину сбоя,
поэтому оно не может сообщить что делать дальше.
Правильно спроектированный фильтр может обеспечить лучшую
обработку сбоев. Некоторые принтеры могут послать сообщение,
описывающее причину ошибки.
-15-53-
Другие указывают сбой сбросом носителя или отключением потока
данных. Фильтр может служить, предоставляя больше информации
о сбое и регистрируя большую часть из них.
Другое преимущество, которое может дать фильтр, состоит в
ожидании сброса сбоя принтера и возобновлении печати. Это позволяет
более эффективно выполнять печать при возникновении
сбоя, так как запрос печати, который был прерван, не должен перепечатываться
полностью. Только реальный фильтр, который распознает
управляющие последовательности, используемые принтером,
знает, где файл разбивается на страницы; таким образом только
фильтр знает, насколько следует возвращаться в файле для корректного
рестарта.
Обслуживание печати имеет простой интерфейс, позволяющий
фильтру получать информацию о сбоях и осуществлять возможный
рестарт. Механизм предупреждений (смотрите раздел "Предупреждение
о монтировании формы" под заголовком "Формы" в данной главе)
обрабатывается обслуживанием печати; интерфейсная программа,
управляющая фильтром, принимает все сообщения об ошибках от
фильтра и помещает их в сообщение предупреждения, которое может
быть послано вам. Таким образом вы видите описания сбоя, которые
выводит фильтр. Если вы устанавливаете конфигурацию принтера
так, чтобы печать автоматически возобновлялась после сброса
сбоя, то интерфейсная программа сохраняет фильтр в активном
состоянии так, что он может возобновиться там, где был остановлен.
Делает ли любая программа хороший фильтр?
Есть искушение использовать программу, такую как troff,
nroff или схожую программу обработки слов, как фильтр. Однако,
программы troff и nroff имеют средства, позволяющие пользователям
ссылаться на дополнительные файлы в исходном документе, они
называются includes files (включенные файлы). Спулер LP не знает
об этих файлах и не ставит их в очередь с исходным документом.
Программа troff или nroff может завершиться аварийно, так
как она не имеет доступа к этим дополнительным файлам. Другие
программы могут иметь схожие средства, ограничивающие их использование
в качестве фильтров.
Далее следуют руководства, которые могут помочь вам выбрать
хороший фильтр:
- Проверьте виды файлов, которые пользователи посылают на
печать, и которые должны обрабатываться фильтром. Если они
-15-53а-
являются одиночными, то есть они не ссылаются на другие
файлы, нужные фильтру,то вероятно фильтр в порядке. Про-
верьте также, не ожидает ли фильтр любые другие файлы,
кроме тех, которые посланы пользователем на печать.
- Если есть ссылки на файлы внутри файлов, посланных на
печать или, если фильтру нужны файлы, отличные от тех, ко-
торые посланы пользователям, то фильтр вероятно выдаст
сбой, так как он не может получить доступ к дополнительным
файлам. Мы предполагаем, что вы не используете программу
как фильтр, но что каждый пользователь выполняет программу
перед посылкой файлов на печать.
-15-54-
Файлы, на которые имеется ссылка, которым всегда присвоены
полные имена пути могут быть в порядке, но только, если фильтр
используется для локальных запросов печати. При использовании
для запросов, полученных от удаленной машины для печати на вашей
машине, фильтр может все еще сбоить, если файлы, на которые
ссылаются, расположены только на удаленной машине.
Определение фильтра
Имеется несколько аспектов фильтра, которые вы должны определить
для обслуживания печати. Они перечислены далее:
Входные типы Это список типов файла, которые фильтр может об-
работать. Большая часть фильтров может иметь
только один входной тип, но обслуживание печати
не ограничивает их одним типом. Некоторые типы
файлов могут быть достаточно схожими для филь-
тра, с которым они связаны. Вы можете использо-
вать любые имена, которые вам понравятся, имея
ввиду предел из 14 букв, цифр и тире (нет под-
черкиваний). Так как обслуживание печати исполь-
зует эти имена для согласования фильтра с типом
файлов, вы должны быть последовательны в согла-
шении по именам. Например, если более одного
фильтра может принять тот же самый входной тип,
используйте то же имя. Эти имена следует объ-
явить пользователям так, чтобы они знали, как
именовать их тип файла, когда они отсылают файл
на печать.
Выходные типы Это список типов файлов, которые фильтр может
производить как выходные. Для каждого файла
фильтр производит отдельный выходной тип, но он
может иметь возможность менять этот тип по зап-
росу. Имена выходных типов также ограничены 14
буквами, цифрами и тире. Эти имена должны либо
соответствовать типам принтеров, имеющихся в ва-
шей системе,либо должны соответствовать входным
типам, обрабатываемым другими фильтрами. Обслу-
живание печати собирает фильтры вместе в конве-
йере оболочки для получения нового фильтра, если
определяется, что необходимы несколько проходов
различными фильтрами для преобразования файла.
Маловероятно, что вам необходим этот
-15-54а-
уровень сложности, но обслуживание печати
допускает это. Попытайтесь найти набор фильтров,
которые берут как входные типы все другие файлы,
которые пользователи могут захотеть распечатать и
которые преобразуют эти файлы прямо в типы,
которые могут обработать ваши принтеры.
-15-55Типы
принтеров Это список типов принтеров, в которые фильтр мо-
жет преобразовать файлы. В то время, как для
большинства фильтров этот список идентичен вы-
ходным типам, он может быть различным. Например,
у вас может быть принтер, который имеет отдель-
ный тип для целей инициализации (смотрите раздел
"Принтер" под заголовком "Установка принтера" в
данной главе), но который может распознавать
несколько различных типов файлов. В сущности эти
принтеры имеют внутренний фильтр, преобразующий
различные типы в один, с которым они могут быть
связаны. Таким образом фильтр может производить
один из нескольких выходных типов, которые соот-
ветствуют "типам файла", обрабатываемым принте-
ром. Фильтр должен быть отмечен как работающий с
типом принтера. В качестве другого принтера вы
можете иметь две различные модели принтеров, ко-
торые перечислены, как принимающие одни и те же
типы файлов. Однако из-за небольшого различия
при производстве, один принтер отличается по
производимым результатам. Вы метите принтеры,
как имеющие различные типы, скажем А и В, где В
- это тот, который отличается. Вы создаете
фильтр, который приспосабливает файлы к учету
отклонений, производимому принтерами типа В. Так
как этот фильтр необходим только для этих типов
принтера, вам следует перечислить его, как рабо-
тающий только для принтеров типа В. Для большей
части принтеров и фильтров вы можете оставить
эту часть определения фильтра пустой.
Принтеры У вас могут быть некоторые принтеры, которые,
хотя и имеют корректный тип для фильтра в других
случаях не адекватны для выхода, который произ-
водит фильтр. Например, вы можете захотеть наз-
начить один принтер для быстрой передачи; на
этот принтер посылаются только файлы, которые
этот принтер может обрабатывать без фильтрации.
Другие принтеры идентичного типа вы назначаете
файлам, которым нужна большая фильтрация перед
печатью. Вы метите фильтр как работающий только
с последними принтерами.
-15-55а-
В большинстве случаев фильтр должен иметь
возможность работы со всеми принтерами, которые
принимают выход, производимый фильтром, поэтому
вы можете оставить эту часть определения фильтра
пустой.
Тип фильтра обслуживание печати распознает быстрые фильтры и
медленные фильтры. Быстрые фильтры метятся fast
либо потому, что они имеют малые накладные рас-
ходы при подготовке файла к печати, либо
-15-56-
потому, что они должны иметь доступ к принтеру,
когда выполняются. Фильтр, который должен ре-
гистрировать сбои принтера,должен быть быстрым
принтером. Медленные фильтры являются прямой
противоположностью. Фильтры, имеющие небольшие
накладные расходы на подготовку файла и не имею-
щие доступ к принтеру, должны метиться как мед-
ленные. Обслуживание печати выполняет медленные
фильтры в фоне без привязки к принтеру. Это поз-
воляет пересылать вперед файлы, требующие быст-
рой фильтрации (или без фильтрации), принтеры не
простаивают, пока медленный фильтр работает с
файлом, если печатаются другие файлы.
Команда Это полное имя пути выполнения программы. Это
фильтр. Если имеются любые фиксированные возмож-
ности, которые необходимы программе, вы можете
включить их здесь.
Возможности Возможности, которые нужны программе фильтру,
зависящие от различных режимов и других аспектов
печати, которые могут быть зарегистрированы для
фильтра. Это обсуждается подробнее позднее.
После того, как вы собрали эту информацию о фильтре, вы
можете использовать ее как вход для эквивалента sysadmsh команды
lpfilter(ADM). (В этом разделе не обсуждается строка команды
lpfilter).Вы можете захотеть сначала зарегистрировать эту информацию
в вашем собственном файле для облегчения редактирования
информации при ее вводе. Далее вы можете передать файл на
ввод. Однако при его вводе следует представить информацию следующим
образом:
Input types: input-types-list
Output types: output-types-list
printer types: printer-type-list
Printers: printers-list
Filter type: fast or slow
Command: command
Options: template-list
1 - входные типы: вход-тип-список;
2 - выходные типы: выход-тип-список;
3 - типы принтера: принтер-тип-список;
4 - принтеры: принтер-список;
5 - тип фильтра: быстрый или медленный;
-15-56а6
- команда: простая команда;
7 - возможности: шаблон-список.
Информация может появиться в любом порядке. Не вся информация
должна приводиться. Таблица 15.5 содержит значения по
умолчанию, используемые для любой пропущенной информации.
-15-57-
Таблица 15.5
Элементы фильтра по умолчанию
Элемент По умолчанию
---------------------------------------------------------------------------
входные типы любой
выходные типы любой
типы принтера любой
принтеры любой
тип фильтра медленный
команда (нет умолчания)
возможности (нет)
Как вы можете видеть значения по умолчанию определяют
очень гибкий фильтр, так что вы вероятно должны обеспечить по
крайней мере входной и выходной тип (типы). Когда вы вводите
список, разделяйте элементы в списке пробелами или запятыми.
Шаблоны
Вся информация объяснена, кроме template-list (шаблон-список).
Далее следует информация о том, как регистрируются режимы
и аспекты печати.
Шаблон-список - это список шаблонов, разделенных запятыми,
он имеет следующий вид:
keyword pattern = replacement
keyword (ключевое слово) должно быть одним из перечисленных в
следующей таблице. Оно метит шаблон, как регистрирующий отдельную
характеристику печати. pattern (образец) - это либо значение
характеристики, либо звездочка (*), которая имеет смысл
структурного нуля для любого значения.
-15-58-
Таблица 15.6
Ключевые слова шаблона
Характеристика Ключевое слово Возможные образцы
---------------------------------------------------------------------------
Тип содержимого INPUT Ъ1содержимое-тип Ъ 0
(вход)
Тип содержимого OUTPUT Ъ1содержимое-тип Ъ 0
(выход)
Тип принтера TERM Ъ1принтер-тип Ъ 0
Шаг символа CPI Ъ1целое Ъ 0
Длина страницы LENGTH Ъ1целое Ъ 0
Ширина страницы WIDTH целое
Страницы для печати PAGES страница-список
Набор символов CHARS
...Закладка в соц.сетях