(Принтеры-->Приоритеты-->Удаление) -15-30а- Снова вы можете сделать это более чем для одного пользова- теля за раз, задавая список имен. Использование команды lpusers только с возможностью -u помещает пользователей в кате- горию предел по умолчанию. Если вы не установили предел по умолчанию, пользователи без личных пределов ограничиваются приоритетами в диапазоне 20- 39. -15-31-  Задание приоритета по умолчанию Вы можете установить приоритет по умолчанию, назначаемый запросам печати без приоритета. Используйте следующую команду: Ъ2 /usr/lib/lpusers -d priority-level  sysadmsh пользователи выбирают: Printers-->Priorities-->Highest (Принтеры-->Приоритеты-->Высший) Не путайте это значение, принимаемое по умолчанию, с пре- делом по умолчанию. Это значение по умолчанию используется, когда пользователю не присвоен приоритет; предел по умолчанию используется, если вы не назначили предел для пользователя - это используется для ограничения пользователя от присвоения слишком высокого приоритета. Примечание Если приоритет по умолчанию выше предела пользователя, то ис- пользуется предел. Если вы не установили приоритет по умолчанию, то средства печа- ти используют значение по умолчанию 20.  Проверка пределов приоритета и значений по умолчанию Вы можете проверить все установки, назначенные для преде- лов приоритета и значений по умолчанию, вводом следующей коман- ды:  /usr/lib/lpusers -l  sysadmsh пользователи выбирают: Printers-->Priоrities-->List (Принтеры-->Приоритеты-->Список)  Пересылка запроса в очередь После выдачи пользователем запроса на печать вы можете пе- реслать его в очередь некоторым образом. Например, вы можете: - настроить приоритет на любой уровень, независимо от пре- дела для пользователя, - поместить его в задержанное состояние и позволить другим запросам печататься перед ним, -15-32- - поместить его в начало очереди для немедленной печати. Для выполнения каждого из этих действий используется обыч- ная команда lp. Изменение приоритета запроса Запросам печати, еще ждущим печати, может быть переназна- чен новый приоритет. Это изменяет их положение в очереди, поме- щая их впереди низкоприоритетных запросов, но сзади любых дру- гих того же или высшего приоритета. Предел приоритета, назначенный пользователю (или предел приоритета по умолчанию) не имеет значения, так как вы перекрываете этот предел как ад- министратор. Введите следующую команду для изменения приоритета запроса: Ъ2 lp -iЪ1 request id Ъ2-q new-priority-level Вы можете изменить только один запрос за раз по этой ко- манде. Если запрос уже печатается, вы не можете изменить его приоритет. Приостановка запроса Любой запрос, не закончивший печать, может быть приоста- новлен. Вы можете остановить его печать, если он печатается в настоящее время, и не выполнять печать до ее возобновления. Другой пользователь, однако, не может возобновить запрос печа- ти, который вы приостановили. Введите следующую команду для приостановки запроса: Ъ2 lp -i Ъ1request id -H hold Введите следующую команду для возобновления запроса: Ъ2 lp -i Ъ1request id -H resume После возобновления запрос продолжает "подтягивать" очередь и будет печататься. Если он печатался на момент приостановки, то он будет первым кандидатом на печать. Обычно запрос начинает печать с начала, со страницы один, но вы можете начать печать -15-32а- страницей позднее. Введите следующую команду для возобновления запроса с некоторой страницы: Ъ2 lp -i Ъ1request id Ъ2-H resume -P starting-page- Конечный пунктир необходим для задания начальной страницы и всех последующих страниц. -15-33- Примечание Возможность печати подмножества страниц требует наличия филь- тра, который может обрабатывать такую ситуацию. Фильтр по умолчанию, используемый обслуживанием печати, не может обра- батывать такую ситуацию. Попытка возобновления запроса стра- ницей позже отвергается, если не используется соответствующий фильтр. Пересылка запроса в начало очереди Вы можете переслать запрос печати в начало очереди, где он будет следующей работой, выбираемой для печати. Если он должен начать печать немедленно, но в настоящее время печатается дру- гой зарос, вы можете приостановить другой запрос, как это опи- сано выше. Введите следующую команду для пересылки запроса печати в начало очереди: Ъ2 lp -i Ъ1request id -H immediate Только системный администратор может переслать запрос, та- кой как этот, обычные пользователи не могут использовать воз- можность -H immediate. Примечание Если вы задали более одного запроса для немедленной печати, они печатаются в обратном порядке, то есть запрос, переслан- ный в начало очереди последним, печатается первым.  Проверка конфигурации принтера После определения конфигурации принтера вам вероятно захо- чется посмотреть ее, чтобы убедиться, что она правильная. Если после проверки конфигурации вы увидите, что сделали ошибку, повторно введите команду, относящуюся к части, которая неверна. Используйте команду lpstat для проверки конфигурации и те- кущего состояния принтера. Короткая форма этой команды дает только статус. Вы можете использовать ее, чтобы убедиться, что принтер существует, и, если он занят, не работает или деактиви- зирован. Длинная форма команды добавляет полную конфигурацию. -15-34- Введите одну из следующих команд для проверки принтера: Ъ2 lpstat -p printername Ъ2 lpstat -p Ъ1printername  -l Вторая команда имеет длинную форму. Для любой команды вы увидите примерно следующее: +------------------------------------------------------ | printer printer-name now printing request-id. | enabled since date | printer printer-name is idle. enable since date | printer printer-name disable since date | reason | printer printer-name waiting for auto-retry | reason 1 - принтер имя-принтера, теперь печатающий идентификатор зап- роса активизирован; 2 - принтер имя-принтера свободен. Активи- зирован с даты; 3 - принтер имя-принтера деактивизирован с даты - причина; 4 - принтер имя-принтера ждет автоповтора - причина Выход "ожидания для авто-повтора" показывает, что обслужи- вание печати LP не смогло использовать принтер (из-за показанной причины), и что обслуживание печати будет пытаться сделать это позднее. Для заданной формы команды вы увидите следующие элементы на выходе: +------------------------------------------------------ |Form mounted: form-name |Content types: content-type-list |Printer type: printer-type |Description: comment |Connection: connection-info |Interface: path-name |On fault: alert-method |After fault: fault-recovery |Users allowed: | user-list |Forma allowed: | form-list |Banner required -15-34а- |Character sets: | character-set-list |Default pitch: integer CPI, integer LPI |Default page size: scaled-decimal-number wide, | scaled-decimal-number long |Default port settings: stty-option-list 1 - монтируемая форма: имя формы 2 - типы содержимого: список типа содержимого 3 - тип принтера: тип-принтера 4 - описание: комментарий 5 - соединение: информация-соединение 6 - интерфейс: имя-пути 7 - при сбое: метод реакции на сбой 8 - после сбоя: восстановление при сбое 9 - пользователям разрешается: список пользователей 10 - формам разрешается: список-форм 11 - требуется заголовок 12 - наборы символов: список-набора-символов 13 - шаг по умолчанию: целый CPI, целый LPI 14 - размер страницы по умолчанию: ширина масштабированное десятичное число, длина масштабированное десятичное число 15 - установка порта по умолчанию: список-возможностей stty Смотрите раздел "Активизирование и деактивизирование прин- теров", приведенный ранее в этой главе, для получения информа- ции. -15-35-  ПОИСК НЕИСПРАВНОСТЕЙ СИСТЕМЫ ПЕЧАТИ Если у вас есть трудности в работе принтера, то имеется несколько возможностей возобновления работы.  Нет выхода - не идет печать Принтер простаивает: ничего не происходит. Сначала про- верьте документацию по принтеру на предмет возможности вызова средств самотестирования, убедитесь, что принтер работает. Присоединен ли принтер к компьютеру? Проверьте, что принтер присоединен к компьютеру. Обрати- тесь к руководству по принтеру для получения инструкций. Активизирован ли принтер? Принтер должен быть активизирован двумя способами. Во-пер- вых, принтер должен быть включен и готов к получению данных от компьютера. Во-вторых, обслуживание печати должно быть готово к использованию принтера. Установите принтер, как это описано в разделе "установки принтера" данной главы. Если вы получили со- общение об ошибке во время этого процесса, следуйте предложени- ям, содержащимся в этих сообщениях. После завершения установки принтера используйте следующие команды: Ъ2 /usr/lib/accept printername Ъ2 enable primtername  sysadmsh пользователи выбирают: Printers-->Shedule-->Accept (Принтеры-->Планирование-->Прием) Printers-->Shedule-->Enable (Принтеры-->Планирование-->Активизация) где printername - это имя, назначаемое принтеру для обслу- живания печати. Далее назначьте файл-образец (такой, как /etc/passwd) для печати: Ъ2 lp -d Ъ1printername Ъ2-T printer-type filename -15-35а-  sysadmsh пользователи выбирают: Dirs/Files--> Print (Оглавление/файлы-->Печать) Если вы не присвоили тип принтера для принтера, то опусти- те возможность Ъ2-Т printer-type. -15-36- Корректна ли скорость передачи? Если скорость передачи (скорость, с которой компьютер по- сылает данные на принтер) не соответствует принтеру, то иногда ничего не печатается. Смотрите раздел "Неразборчивая печать".  Неразборчивая печать Принтер пытается печатать, но получается не то, что вы ожидали, а что-то нечитаемое. Корректна ли скорость передачи? Обычно, когда скорость передачи не соответствует принтеру, вы получаете некоторый выход, но он выглядит не так, как то, что вы послали на печать. Случайные символы появляются с нео- бычной смесью специальных символов и неправдоподобными пробела- ми. Читайте документацию по принтеру для определения его ско- рости передачи. Вероятно он будет установлен на 9600 бод для оптимальной производительности, если он не установлен на 9600 бод, вы должны заставить обслуживание принтера использовать корректную скорость передачи (по умолчанию используется 9600). Если принтер соединен через параллельный порт, скорость переда- чи не имеет значения. Для установки другой скорости передачи для обслуживания печати используйте следующую команду: Ъ2 /usr/lib/lpadmin -p Ъ1printername Ъ2-o stty=baud-rate  sysadmsh пользователи выбирают: Printers-->Configure-->Parameters (Принтеры-->Конфигурация-->Планирование) Поле "stty по умолчанию / располагается в третьей части формы, введите численное значение скорости передачи. Далее наз- начьте файл-образец для печати (объясненный ранее в разделе "Монтирование формы или печатающего механизма"). -15-36а- Корректна ли установка четности? Некоторые принтеры используют бит четности, чтобы убедить- ся, что данные, получаемые для печати, не исказились при пере- даче. Бит четности может кодироваться несколькими различными способами, и компьютер и принтер должны согласованно использо- вать этот способ. Если они не соответствуют, то некоторые сим- волы не печатаются или замещаются другими символами. В общем случае это так, хотя выход выглядит приблизительно корректным с разделением пробелами "слов", типичных для вашего документа, и многие буквы располагаются на корректных местах. -15-37- Проверьте документацию по принтеру, чтобы убедиться, какой выход нам нужно ожидать. Если принтер прямо присоединен к компьютеру довольно-таки коротким проводом (50 футов или около того), он не должен использовать бит четности. Обслуживание пе- чати не устанавливает по умолчанию бит четности. Вы, однако, можете изменить это, используя следующий выбор sysadmsh: Ъ2 /usr/lib/lpadmin -p Ъ1printername -o stty=oddp /usr/lib/lpadmin -p Ъ1printername -o stty= evenp /usr/lib/lpadmin -p Ъ1printername -o stty= -parity sysadmsh пользователи выбирают: Printers-->Configure-->Parameters (Принтеры-->Конфигурация-->Планирование) Кроме того, выполните одно из следующих добавлений в поле "stty по умолчанию" в части три формы: oddp, evenp, -parity. Первое устанавливает генерацию нечетной четности, второе уста- навливает четную четность. Последняя команда устанавливает по умолчанию отсутствие четности. Выберите возможность, которая соответствует потребностям вашего принтера. Табуляция установлена правильно? Если принтер не ожидает получения символов табуляции, то выход может выполняться, но эти символы будут сжиматься у пра- вого края. Смотрите раздел "Нет левой границы/набор текста в "подбор""позднее в этой главе. Разборчивая печать, неправильные межстрочные промежутки Выход производится, он читаем, но имеются двойные межс- трочные промежутки, нет левой границы или содержатся зигзаги в нижней части страницы. Эти проблемы могут решаться настройкой установок принтера (если это возможно) или же соответствием ус- тановок обслуживания печати.  Двойные межстрочные промежутки Корректный текст с двойными межстрочными промежутками ис- пользует возможность -onlcr или -tabs. -15-38-  Нет левой границы/набор текста в "подбор" Если нет левой границы и текст набирается в "подбор", ис- пользуйте возможность -tabs.  Зигзаги внизу страницы Если вывод содержит зигзаги внизу страницы, используйте возможность onlcr. Она задается по умолчанию, но вы можете слу- чайно сбросить ее. Корректный тип принтера? Смотрите следующий раздел "Неправильный набор символов шрифта".  Неправильный набор символов шрифта Если выбран неправильный тип принтера при установке для принтера обеспечением печати, то на принтер могут быть посланы неправильные управляющие символы. Результаты непредсказуемы и могут привести к исчезновению выхода или его искажению, при этом возникает проблема, описанная ранее. Более простая пробле- ма возникает при установлении неправильного набора символов или шрифта. Если вы не знаете, какой тип присвоить принтеру, попытай- тесь выполнить следующее для проверки доступных типов принтера. Во-первых, если вы считаете, что тип принтера имеет определен- ное имя, попытайтесь выполнить следующую команду: Ъ2 TERM=Ъ1printer-type tput longname Выход этой команды появится на терминале, он является кратким описанием принтера, идентифицируемым printer-type (ти- пом принтера). Попробуйте использовать имена, которые вы счита- ете правильными до тех пор пока не найдете такое, которое иден- тифицирует ваш принтер. Если вы не знаете, какие имена пробовать, вы можете прове- рить оглавление /usr/lib/terminfo, чтобы просмотреть доступные имена. Заметим, что вероятно в оглавлении имеется много имен. Введите следующую команду для проверки оглавления: -15-38а-  ls -R /usr/lib/terminfo | more Выберите имена из списка, соответствующие слову или числу, идентифицирующему ваш принтер. Например, имя 495 идентифицирует принтер AT&T495. Попытайтесь использовать каждое из этих имен в другой команде, приведенной выше. -15-39- Когда у вас имеется имя типа принтера, которое вы считаете корректным, установите его в обслуживании печати, введя следую- щую команду: Ъ2 /usr/lib/lpadmin -p Ъ1printername Ъ2-T printer-type  sysadmsh пользователи выбирают: Printers-->Configure-->Parameters (Принтеры-->Конфигурация-->Планирование)  Ошибки при выборе Обслуживание печати использует программное обеспечение UUCP для обработки выбора принтеров. Если происходит ошибка при выборе, и вы получаете предупреждение о сбое принтера, то обс- луживание принтера сообщает о той же ошибке, о какой сообщает программное обеспечение UUCP в аналогичных ситуациях. (Если вы не задали средства получения предупреждений о сбоях, по умолча- нию они направляются пользователю lp).  Простаивающие принтеры Имеется несколько причин, по которым принтер будет проста- ивать в активизированном состоянии, несмотря на наличие очереди запросов на печать: - запросы печати нуждаются в фильтрации. Медленные фильтры выполняются по одному за раз для устранения перегрузки системы. До фильтрации запроса печати, если требуется мед- ленная фильтрация, запросы не печатаются. Используйте сле- дующую команду, чтобы убедиться, что первый ждущий запрос фильтруется:  lpstat -o -l - принтер неисправен. Автоматическое продолжение печати после регистрации сбоя не происходит сразу. Обслуживание печати ожидает около пяти минут перед тем, как попробовать снова и осуществляет попытки до успешной печати запроса. Вы можете форсировать повтор немедленно активизировав принтер: Ъ2 enable printername  sysadmsh пользователи выбирают: Printers-->Shedule-->Enable (Принтеры-->Планирование-->Активизация) -15-40- - выбранный принтер был занят или не ответил, или заняты выбранные порты. Как и в случае автоматического продолже- ния печати после сбоя обслуживание печати ждет пять минут перед попыткой повторного использования выбранного принте- ра. Если выбранный принтер не может быть использован час или два (в зависимости от причины), то обслуживание печати окончательно извещает о возможной проблеме. Вы можете за- пустить повтор немедленно активизированием принтера: Ъ2 enable printername  sysadmsh пользователи выбирают: Printers-->Shedule-->Enable (Принтеры-->Планирование-->Активизация) - потерян процесс "ребенок". Если процесс, управляющий принтером, уничтожен (системой во время периодов крайне тяжелой загрузки или администратором), то обслуживание пе- чати может не реализовать это в течение нескольких минут. Деактивизирование принтера и повторное активизирование заставляет обслуживание принтера проверять управляющий процесс и повторно стартовать его. Убедитесь, что принтер действительно простаивает, хотя из-за деактивизации прин- тер останавливается в середине печати запроса. Хотя запрос не теряется, он должен быть перепечатан полностью. Ъ2 disable printername Ъ2 enable printername  sysadmsh пользователи выбирают: Printers-->Shedule-->Enable (Принтеры-->Планирование-->Активизация) Printers-->Shedule-->Disable (Принтеры-->Планирование-->Деактивизация) Если процесс, который потерян, контролирует медленный фильтр, не пытайтесь повторно активизировать принтер; вместо этого попытайтесь задержать запрос печати (один в начале очереди принтера) и затем возобновить его, как по- казано далее: -15-40а-  lpstat -o -l Ъ2 lp -i Ъ1request-id -H hold Ъ2 lp -i Ъ1request-id -H resume Используйте первую команду для перечисления стоящих в очереди запросов. -15-41-  ФОРМЫ В этом разделе описывается, как управлять использованием препринтных форм обслуживанием печати. Вы увидите, как вы може- те: - определить новую форму, - изменить старую форму, - удалить форму, - проверить форму, - ограничить доступ пользователя к форме, - обеспечить предупреждение при необходимости монтирования формы и, - монтировать формы. Перед детальным рассмотрением этих вопросов рассмотрим, что представляет собой форма в контексте обслуживания печати.  Что такое форма? Препринтная форма - это бумажный образ формы бланка, которую вы можете загрузить в принтер. Приложение обычно генерирует файл, который при распечатке на форме бланка заполняет форму. Общими примерами формы являются: - проверки бланков, - расписки, - квитанции, - этикетки, - печатный бланк, и - специальный бумажный инвентарь. Обычно несколько копий формы бланка загружается в принтер либо как набор отдельных листов, либо как сложная бумага. Обслуживание печати помогает управлять использованием препринтных форм, но не обеспечивает приложение какой-либо по- мощью при заполнении формы. За это отвечает само приложение. Обслуживание печати, однако, отслеживает, то, какие запросы пе- чати требуют монтирования специальных форм, и какие формы в настоящее время смонтированы, оно может предупредить вас о не- обходимости монтирования новой формы. Конечно, если вы не используете специальные формы для пе- чати, вы можете пропустить этот раздел. -15-42-  Определение формы Первое, что вы должны сделать для добавления новой формы - это определение ее характеристик. Это короткий список, помогаю- щий обслуживанию печати напомнить вам, как работать с формой и сообщающий обслуживанию печати, как инициализировать принтер для правильной печати формы. Вам необходимо знать следующее о форме: Длина страницы Длина формы или каждой страницы в многостра- ничной форме. Она может быть выражена как число строк или размер в дюймах или санти- метрах. Ширина страницы Ширина формы, выраженная в колонках, дюймах или сантиметрах Число страниц Число страниц в многостраничной форме. Обс- луживание печати LP использует это число с фильтром (если доступен) для ограничения об- разца выравнивания позднее в данном разде- ле). Если другой фильтр не доступен для уре- зания образца выравнивания, то обслуживание печати LP пропускает этот шаг. Шаг строки Как близко отдельные строки располагаются в форме. Выражается либо в строках на дюйм, либо в строках на сантиметр. Шаг символа Как близко отдельные символы располагаются в форме. Также выражается либо в символах на дюйм либо в символах на сантиметр. Выбор набора Набор символов, печатающий механизм или кас- символов сета шрифта, которые должны быть использова- ны, когда используется эта форма. Пользова- тель может выбрать разные наборы символов для запроса печати, используя эту форму, или же пользователь может запросить использова- ние только одного набора символов. Цветовая лента Если форма всегда должна печататься с ис- пользованием определенной цветовой ленты, то обслуживание печати может напомнить вам, ка- кой цвет использовать при монтировании фор- мы. -15-43- Комментарий Любой комментарий, который вы хотите исполь- зовать для формы. Этот комментарий позволяет увидеть, какая форма используется, когда ее следует использовать и так далее. Образец выравнивания Файл образца, который использует обслужи- вание печати для заполнения одной формы бланка. При монтировании формы вы можете проверить этот образец, чтобы убедиться, что печать выдается для формы по строкам правильно. Примечание Обслуживание печати не пытается маскировать "чувствительную" информацию в образце выравнивания.Если вы не хотите печатать "чувствительную" информацию в формах образца - то очень веро- ятен случай, когда вы выравниваете проверки, например - далее вам следует маскировать соответствующие данные. Обслуживание печати хранит образец выравнивания, запомненный в безопасном месте, где только вы (то есть пользователь lp и суперпользо- ватель root) могут читать ее. Когда вы собираете эту информацию о форме, вы вводите ее как вход команде lpforms(ADM). Вы можете захотеть сначала заре- гистрировать эту информацию в вашем собственном файле, чтобы облегчить редактирование информации при ее вводе. Далее вы мо- жете получить файл как входной. При его вводе вы должны предс- тавить информацию следующим образом: 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 1 - длина страницы: масштабированный номер; 2 - ширина страницы: масштабированный номер; 3 - число страниц : целое; -15-43а- 4 - шаг строки: масштабированный номер; 5 - шаг символа: масштабированный номер; 6 - выбор набора символов: имя набора символов, мандат; 7 - цветовая лента: цветовая лента; 8 - комментарий: комментарий; 9 - образец выравнивания: образец выравнивания. Кроме образца выравнивания информация может появляться в любом порядке (comment должен следовать за Comment: хотя бы строкой ниже). alignment-pattern должно быть последней приводи- мой информацией. Если comment должен содержать строку, начинаю- щуюся с любой из ключевых фраз (длина страницы, ширина страницы и так далее), то ей должен предшествовать символ ">", заключаю- щий ключевую фразу. Это означает, что любой начальный символ ">" отделяется от комментария при отображении. -15-44- Не вся информация должна приводиться. Пропущенной информа- ции назначаются следующие значения по умолчанию:  Таблица 15.4 Элементы формы по умолчанию Элемент По умолчанию --------------------------------------------------- Длина страницы 66 строк Ширина страницы 80 колонок Число страниц 1 Шаг строки 6 Шаг символа 10 Выбор набора символов любой Цветовая лента любая Комментарий (нет по умолчанию) Образец выравнивания (нет по умолчанию) Используйте одну из следующих команд для определения формы. Ъ2 /usr/lib/lpforms -f Ъ1form-name Ъ2-F file-name /usr/lib/lpforms -f form-name -  sysadmsh пользователи выбирают: Printers-->Auxiliary-->PPforms-->Configure (Принтеры-->Вспомогательный-->РРформы-->Конфигурация) Обеспечивается имя пути для формы, как указано. Первая ко- манда получает определение формы из файла, вторая команда полу- чает определение формы от вас через стандартный ввод. Formname может быть чем-то выбранным вами длиной до 14 букв, цифр и сим- волов подчеркивания. Если вам необходимо изменить форму введите лишь одну из этих команд. Вам нужно только дать измененную информацию, ин- формация, которую вы пропускаете, остается неизменной.  Удаление формы Обслуживание печати не имеет фиксированного предела на число форм, которые вы определяете. Однако хорошей идеей явля- ется удаление форм, не нужных более, для устранения конфликтов пользователей, которым в противном случае придется просматри- вать длинный список устарелых форм, пытаясь выбрать корректную форму, и устранения дополнительной обработки обслуживания печа- ти, которая может случайно возникнуть для всех форм при выпол- нении определенных задач. -15-45- Используйте следующую команду для удаления формы: Ъ2 /usr/lib/lpforms -f Ъ1form-name -x sysadmsh пользователи выбирают: Printers-->Auxiliary-->PPforms-->Remove (Принтеры-->Вспомогательный-->РРформы-->Удаление)  Ограничение доступа пользователя Вы можете ограничить использование формы рядом пользовате- лей компьютера. Вы можете захотеть сделать это, например, для "чувствительных" форм, таких как квитанции, которые могут ис- пользоваться только людьми в отделах платежных ведомостей или в отделах платежей по счетам. Обслуживание печати использует список пользователей, допу- щенных или не допущенных до формы, для ограничения использова- ния формы. Обслуживание печати отвергает запрос пользователя на печать файла с формой, которую ему или ей не разрешено исполь- зовать. Метод перечисления пользователей, которым разрешен или не разрешен доступ к форме, аналогичен методу, используемому для перечисления пользователей, которым разрешен или запрещен дос- туп к средствам cron и at. Смотрите раздел "Авторизация исполь- зования команд планирования заданиями" в главе "Обеспечение бе- зопасности системы" данного руководства. Это следующие правила: - список разрешений содержит пользователей, которым разре- шено использование формы. Список отказов содержит пользо- вателей, которым запрещен доступ к форме. - Если список разрешений не пуст, то список отказов игно- рируется. Если список разрешений пуст, используется список отказов. Если оба списка пусты, то отсутствуют ограничения на то, кто использует форму. - Помещение any или all в список разрешений позволяет каж- дому использовать форму. Помещение any или all в список отказов отвергает любого за исключением пользователя lp и суперпользователя root. Вы можете определить, кто может использовать форму, ис- пользуя следующие команды: Ъ2 /usr/lib/lpforms -f Ъ1formnameЪ2 -u allow:user-list -15-45- Ъ2 /usr/lib/lpforms -f Ъ1formname Ъ2-u deny:user-list  sysadmsh пользователи выбирают: Printers-->Auxiliary-->PPforms-->Users (Принтеры-->Вспомогательный-->РРформы-->Пользователи) user-list - это список имен пользователей, разделенный запятой или пробелом. Если вы используете пробелы для разделения имен, заключите весь список (включая allow: или deny:, но не -u) в кавычки. Первая команда добавляет имена в список разрешений и удаляет их из списка отказов. Вторая команда добавляет имена в список отказов и удаляет их из списка разрешений. Использование -15-46- allow: all допускает всех, использование deny: all отказывает всем. Если вы не добавляете имена пользователей в списки разре- шений или отказов, то обслуживание печати предполагает, что каждый может использовать форму.  Предупреждение о монтировании формы Если вы определили больше форм, чем принтеров, вы очевидно не можете печатать файлы на всех формах одновременно. Это озна- чает, что некоторые запросы печати могут удерживаться в очереди до монтирования необходимых форм. Вы можете периодически отсле- живать число запросов печати, ждущих некоторой формы, но обслу- живание печати предоставляет более легкий путь. Вы можете запросить предупреждение, когда число запросов, ждущих форму, превышает некоторый порог. Вы можете выбрать один из нескольких способов получения предупреждения: - Вы можете получить предупреждение по электронной почте. Смотрите описание команды 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 в потоки данных, печатаемые кор- ректно некоторыми принтерами. Каждый фильтр, добавляемый в систему, набирается наряду с типом входа, который он может