[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по принтерам и печати


Принтеры PostScript

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

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

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

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

Шрифты Type 1 могут быть установлены для всех приложений, запущенных на рабочем столе. Эти шрифты можно загрузить для принтеров PostScript в случае, если приложение создает вывод PostScript, для печати которого необходимы такие шрифты. Команда lp автоматически устраняет эту проблему с помощью фильтра download.

Работа с принтером PostScript

После установки принтеров и фильтров PostScript, служба печати работает с файлами PostScript также, как и со всеми остальными. Если psfile - это файл, содержащий документ PostScript, а psprinter - это описанный в службе печати принтер PostScript, то команда

lp -d psprinter -T PS psfile

планирует запрос на печать и управляет передачей этого запроса на принтер PostScript.

Поддержка запросов на печать, написанных не на языке PostScript

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

Типы данных, не относящиеся к PostScript


Тип данных Тип запроса на печать
simple Печать текстового файла ASCII (simple)
troff Печать вывода команды troff
daisy Печать файлов для принтера Diablo 630 (лепестковый принтер)
dmd Печать содержимого растрового дисплея терминала
tek4014 Печать файлов, форматированных для устройства Tektronix 4014
plot Печать точечных файлов

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

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

lp -d psprinter -T simple report2

файл ASCII report2 (файл формата ASCII или simple) преобразовывается в PostScript автоматически, так как целевой принтер (psprinter) описан в системе как принтер PostScript.

Дополнительные возможности PostScript, обеспечиваемые с помощью фильтров

Фильтры, описанные в разделе Фильтры, также используют возможности языка PostScript для обеспечения большей гибкости печати. Большинство этих функций доступны с помощью опции режим (запускаемой опцией -y) команды lp command. С помощью этих фильтров мы можете использовать для своих заданий печати несколько дополнительных опций. В следующем списке описаны эти опции и их вызов с помощью команды lp.

-y reverse Печать страниц в обратном порядке
-y landscape Изменение ориентации страницы с книжной на альбомную
-y x=число,y=число Изменение позиции логической страницы на физической странице по умолчанию путем перемещения начальной позиции
-y group=число Объединение нескольких логических страниц на одной физической странице
-y magnify=число Изменение логического размера страницы документа
-o length=число Выбор числа строк на странице документа
-P num_list Выборка подмножества печатаемых страниц документа, где num_list - список номеров страниц или диапазонов страниц, разделенных запятыми (например при указании, 1,4,6-8,14- происходит печать страниц 1, 4, 6, 7, 8 и с 14 до конца)
-n число Печать нескольких копий документа

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

   %%Page: label ordinal

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

Например, пусть существует файл report2 с данными типа simple (то есть файл формата ASCII). Вам необходимо напечатать шесть страниц файла (с 4 по 9), причем на каждой физической странице должны быть распложены две логические страницы. Так как один из принтеров вашей системы (psprinter) является принтером PostScript, это можно сделать с помощью следующей команды:

lp -d psprinter -T simple -P 4-9 -y group=2 myfile

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

Поддержка принтеров PostScript

Поддержка принтеров PostScript схожа с поддержкой любых других принтеров; принтеры должны быть описаны в системе с помощью команды lpadmin и для управления ими должно быть установлено соответствующее программное обеспечение. Для принтеров PostScript может также потребоваться дополнительная поддержка шрифтов и обеспечение работы медленных фильтров.

Установка и поддержка принтеров PostScript

Принтеры PostScript, как и другие принтеры, устанавливаются с помощью команды lpadmin. Они используют интерфейсную программу PS; в связи с этим необходимо указать опцию -m PS в командной строке lpadmin.

Примечание:  Тип принтера и тип данных принтера PostScript должны быть согласованы с типом принтера, используемым в фильтрах PostScript. Для этого при установке принтеров PostScript необходимо указывать тип принтера PS, PS-b, PS-r или PS-br и тип данных PS.

Типы принтеров PS используются для двух целей. Во-первых, они указывают службе печати правильный быстрый фильтр для связи с принтером. Тип PS и PS-r используются для связи с принтером через последовательный порт; типы PS-b и PS-br - для связи через параллельный порт. Во-вторых, интерфейс PS создает страницу-баннер PostScript для принтеров PS. Баннер печатается последним, если тип принтеров - PS-r или PS-brи страницы печатаются в обратном порядке. Тип принтера задается с помощью опции -T команды lpadmin.

Таблица: Порядок страниц PostScript


Принтер Тип соединения Порядок страниц
PS Последовательно обычная
PS-b Параллельно обычная
PS-r Последовательно обратная
PS-br Параллельно обратная

Спецификация -b (используется при выборе типов PS-b или PS-br) обозначает пакетный, что обычно используется для параллельных соединений; она может быть также применена при последовательном соединении в случае, если вы не хотите получать сообщения о состоянии принтера PostScript. Типы PS и PS-r не могут быть применены при параллельном соединении.

Указав опцию -I команды lpadmin при настройке принтера PostScript, вы можете задать типы данных, обрабатываемые принтером без применения медленных фильтров. Для принтера в системе сервера, PS - верный тип данных. Однако, для принтера в клиентской системе медленная фильтрация может оказаться неэффективной, так как при этом возникают большие затраты сетевых и системных ресурсов.

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

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

/usr/sbin/lpadmin -p ps1 -T PS-b -I PS -m PS

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

/usr/sbin/lpadmin -p ps1 -T PS-b -I simple,daisy,dmd,tek4014,plot

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

/usr/sbin/lpadmin -p ps1 -T PS-b -I PS

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

Установка и поддержка фильтров PostScript

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

Фильтры PostScript хранятся в каталоге /usr/lib/lp/postscript.

Примечание:  Фильтры делятся на два типа: медленные и быстрые. Описания этих типов приведены в разделах lpfilter и Описание фильтра.

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

Фильтры PostScript


Тип данных файла Фильтр
simple postprint
troff dpost
daisy postdaisy
dmd postdmd
tek4014 posttek
plot postplot

Следующие фильтры выполняют особые функции:

Фильтры особого назначения


Функция Фильтр
Связь с принтером postio,lp.cat
Загрузка шрифтов download
Выборочная и обратная печать страниц postreverse
Матрица полутонов postmd

Установка и поддержка шрифтов PostScript

Одним из преимуществ языка PostScript является возможность управления шрифтами. Контурное описание шрифтов формате Type 1 хранится либо в принтере, либо на компьютере, связанном с этим принтером. При печати документа интерпретатор PostScript создает символы в необходимом формате (необходимого размера) с помощью их контурного описания. Если шрифт, используемый в документе, хранится не в принтере, перед печатью документа осуществляется передача этого шрифта на принтер. Этот процесс называется также загрузка шрифтов.

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

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

Служба печати, с помощью таблиц ширины troff для 35 стандартных шрифтов PostScript, хранящихся в большинстве принтеров PostScript, может применять программу dpost.

Получение списка резидентных шрифтов

Большинство принтеров PostScript поставляются со шрифтами, хранящимися в ПЗУ принтера. Некоторые принтеры оснащены диском, на котором хранятся дополнительные шрифты. Список шрифтов типа Type 1, хранящихся в ПЗУ или на диске принтера PostScript можно узнать из документации принтера. Если принтер PostScript подключен к последовательному порту, список этих шрифтов можно также получить с помощью команды postio и программы PostScript romfonts.ps.

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

  1. Узнать устройство, к которому подключен принтер PostScript:

    lpstat -v
    

    При указании системы, к последовательному порту которой подключен принтер PostScript prlocal, эта команда выдаст примерно следующий результат:

       device for prlocal: /dev/tty01
    

    Таким образом принтер подключен к устройству /dev/tty01.

  2. Войдите в систему как пользователь root и выполните следующие команды:

    cd /usr/lib/lp/postscript
    

    postio -L /tmp/postio.o -l /dev/tty01 -t romfonts.ps
    

    Для принтера prlocal эта команда выдаст результаты в файл/tmp/postio.o; результаты будут выглядеть примерно следующим образом:

    	   printer startup
    	   %%[ status: waiting; source: serial 25 ]%%
    	   %%[ status: endofjob ]%%
    	   %%[ status: idle ]%%
    	   sending file romfonts.ps
    	   waiting for end of job
    	   %%[ status: busy; source: serial 25 ]%%
    	   /AGaramond-Bold
    	   /AGaramond-BoldItalic
    	   /AGaramond-Italic
    	   /AGaramond-Regular
    	   /AvantGarde-Book
    	   /AvantGarde-BookOblique
    	   /AvantGarde-Demi
    	   /AvantGarde-DemiOblique
    	      . . . more PostScript font
    names . . .
    	   /ZapfChancery-MediumItalic
    	   /ZapfDingbats
    	   %%[ status: endofjob ]%%
    	   job complete
    	
    

    В этом примере перечислены резидентные шрифты для принтера prlocal.

Добавление резидентных шрифтов в список шрифтов принтера

После установки принтера необходимо добавить его резидентные шрифты в список шрифтов принтера. Файл, содержащий список шрифтов, может содержать только имена шрифтов в памяти принтера (В предыдущем примере - от AGaramond-Bold до ZapfDingbats); он помещается в файл /etc/lp/printers/prlocal/residentfonts для того, чтобы эти шрифты не загружались с хоста.

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

  1. Перейдите в каталог управления принтером, в котором хранятся списки шрифтов. Шрифты каждого принтера хранятся в файле

    /etc/lp/printers/принтер/residentfonts
    

    где принтер - имя принтера.

    При указании опции -p, программа download проверяет наличие в этом файле шрифтов Type 1, являющихся резидентными; найденные в файле шрифты не загружаются с хоста.

  2. При настройке принтера PostScript с помощью команды lpadmin такой файл не создается автоматически. Поэтому рекомендуется создать его вручную. (Файлы со списками шрифтов необходимо редактировать вручную; например, с помощью текстового редактора, такого как vi.)

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

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

Установка и поддержка шрифтов, резидентных на хосте

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

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

  1. Скопируйте файл шрифта в соответствующий каталог.

    Шрифты, используемые вместе с принтерами PostScript, хранятся в каталоге /usr/share/lib/hostfontdir или в других каталогах.

  2. Добавьте в файл карты имя шрифта и имя файла, в котором он хранится.

    Также в каталоге hostfontdir, администратор должен создать и поддерживать таблицу отображения, в которой описана связь между именем шрифта, данным ему его создателем, и именем файла, в котором он хранится. Имя файла, начинающееся с косой черты (/), является полным именем; в противном случае имя файла указано относительно каталога шрифтов хоста. Комментарии в таблице отображения обозначены символом % (как и в PostScript) и распространяются до конца строки.

    Например, для описания шрифта Palatino Bold, необходимо добавить в таблицу отображения следующую строку:

       Palatino-Bold /usr/share/lib/hostfontdir
    

    (Таблица отображения хранится в файле /usr/share/lib/hostfontdir/map.)

    После занесения этой записи в таблицу отображения вашей системы, пользователи смогут применять шрифт Palatino Bold в заданиях печати. При указании этого шрифта в файле, содержащемся в запросе на печать, служба печати перед отправкой задания на принтер добавит к запросу копию файла /usr/share/lib/hostfontdir, в случае, если этот шрифт не описан в файле residentfonts.

  3. При использовании troff, необходимо создать для этого шрифта таблицы ширины в стандартном каталоге шрифтов troff.

Загрузка шрифтов, резидентных на хосте

Документ PostScript, содержащий запрос на шрифты, не загруженные в принтер, обрабатывается фильтром download. Этот фильтр является быстрым; он автоматически загружает шрифты, если они находятся в той же системе, что и принтер. Фильтр download может также отправлять шрифты на удаленный принтер. Для этого необходимо создать новую запись в таблице фильтров, вызывающую фильтр download как медленный фильтр с помощью опции-y. Также, можно принудительно выбрать этот фильтр, изменив тип входных данных.

Фильтр download выполняет пять задач:

Картриджи шрифтов и наборы символов

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

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

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

Указание наборов символов

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

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

   tput -T тип-принтера csnm 0

тип-принтера - название типа принтера. Эта команда выводит имя нулевого набора символов (набора символов, устанавливаемого по умолчанию после инициализации принтера).

Для получения имен прочих наборов символов, повторите приведенную выше команду, заменив 0 на 1, 2, 3 и так далее.

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

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

   /usr/sbin/lpadmin -p принтер -S список-наборов-символов

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

   csN=имя-набора-символов
   имя-набора-символов1=имя-набора-символов2

N - это число от 0 до 63, идентифицирующее номер набора символов в базе данных terminfo. characterset_name1 идентифицирует набор символов по его имени в базе данных terminfo. В обоих случаях имя, указанное справа от знака "равно" (=) - это выбранный вами псевдоним набора символов.

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

Например, принтер работает помимо набора по умолчанию (набор #0) с двумя наборами символов (наборы #1 и #2). Тип принтера - 5310. Для того, чтобы определить имена наборов символов, необходимо ввести следующую команду:

   tput -T 5310 csnm 1
   english
   tput -T 5310 csnm 2
   finnish

Слова english и finnish, являющиеся именами наборов символов - выходные данные команды. Имя finnish соответствует набору символов 2 и его можно использовать для ссылки на этот набор, но для стандартного набора (набора 0) и набора 1 рекомендуется ввести наиболее подходящие имена. Для определения синонимов введите следующую команду:

   /usr/sbin/lpadmin -p принтер -S "cs0=american, english=british"

Приведенные ниже три команды идентичны. (Команда lp направляет задания печати на принтер; в приведенных ниже примерах задания печати направляются на любой принтер, который работает с набором символов cs1.)

   lp -S cs1 -d any . . .
 
   lp -S english -d any . . .
 
 
   lp -S british -d any . . .

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

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

   /usr/sbin/lpadmin -p принтер -S none

Задание применяемых с принтером картриджей шрифтом

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

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

   /usr/sbin/lpadmin -p принтер -S список-картриджей-шрифтов

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

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

   /usr/sbin/lpadmin -p принтер -S none

После указания списка шрифтов, используемых с принтером, вы можете их установить. См. Замена картриджа шрифтов принтера.

Замена картриджа шрифтов принтера

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

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

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

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

  1. Отключить принтер.
  2. Удалить текущий картридж из принтера.
  3. Установить в принтер новый картридж шрифтов.
  4. Смонтировать картридж шрифтов, введя команду:

    	   /usr/sbin/lpadmin -p принтер -M -S имя-картриджа-шрифтов
    	
    

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

  5. Включить принтер.

Для того, чтобы размонтировать картридж шрифтов, введите:

   /usr/sbin/lpadmin -p принтер -M -S none

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

Настройка предупреждений о сбоях принтера

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

Служба печати различает два класса индикаторов сбоя: разъединение (потеря несущей частоты) и задержка при печати (символ управления потоком XOFF, не имеющий совпадающего с ним XON). При возникновении других сбоев, служба печати не может определить их причину, и, следовательно, не может создать предупреждение. Однако, существуют фильтры, определяющие другие сбои принтера и сообщающие об этом службе печати, которая, в свою очередь, предупреждает вас. См. ***.

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

   /usr/sbin/lpadmin -p принтер -A mail -W число-минут
   /usr/sbin/lpadmin -p принтер -A write -W
число-минут
   /usr/sbin/lpadmin -p принтер -A 'command' -W число-минут

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

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

   /usr/sbin/lpadmin -p принтер -A none

Если вы хотите, чтобы при возникновении сбоя определенному пользователю отправлялось письмо по электронной почте или сообщение, введите третью команду с опцией -A 'mail ИД-входа-в-систему' или -A 'write ИД-входа-в-систему'. Если вы не укажете ИД-входа-в-систему, письмо или сообщение будут отправлены пользователю с ИД, которое вы ввели при входе в систему. При этом если вы применили команду su для изменения ИД, это может быть не ваш ИД.

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

   /usr/sbin/lpadmin -p принтер -A quiet

Примечание:  Тип предупреждения quiet указывается только для остановки текущего активного предупреждения; не указывайте quiet как тип предупреждений для нового принтера.

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

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

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

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

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

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

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

   /usr/sbin/lpadmin -p принтер -F continue
   /usr/sbin/lpadmin -p принтер -F beginning
   /usr/sbin/lpadmin -p принтер -F wait

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

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

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

Предупреждение о монтировании форм и картриджей шрифтов

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

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

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

lpforms -f имя-формы -A способ-предупреждения -Q число -W  число-минут


способ-предупреждения используемый метод предупреждения (mail, write или заданная команда)
число Число запросов, при котором создается предупреждение
число-минут интервал времени (в минутах) между предупреждениями

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

   lpforms -f check -A mail -Q 2 -W 5

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

lpadmin -S имя_картриджа_шрифтов -A способ-предупреждения -Q число -W  число-минут

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

   lpadmin -S dingbat -A write -Q 3 -W 2

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

   lpforms -f any -A mail -W 5
 
   lpadmin -S any -A mail -W 5
   

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

   lpforms -f имя_формы -A quiet
 
   lpadmin -S имя_картриджа_шрифтов -A quiet

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

   lpforms -f имя_формы -A none
 
   lpadmin -S имя_картриджа_шрифтов -A none

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

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

Параметры порта принтера - это атрибуты, описанные в опции -o "stty='список-параметров-stty'" команды lpadmin. Для принтеров, как подключенных напрямую к компьютеру, так и подключенных через сеть, необходимо с помощью интерфейсной программы задать параметры порта. Эти параметры определяют свойства низкоуровневых соединений с принтером. Это скорость передачи в бодах; использования управления потоком XON/XOFF ; 7, 8 или другое количество разрядов в байте; тип четности; обработка выходных данных. В стандартной интерфейсной программе команда stty инициализирует порт принтера, задавая скорость передачи в бодах и несколько других параметров по умолчанию.

Параметры порта по умолчанию

В следующей таблице перечислены параметры по умолчанию, применяемые стандартной интерфейсной программой:

Значение по умолчанию Описание
9600 скорость передачи - 9600 бод
cs8 8-разрядный байт
-cstopb 1 стоп-бит в каждом байте
-parenb Контрольные данные не создаются
ixon Управление потоком XON/XOFF включено
-ixany Для повторного запуска вывода используется только XON
opost Отложенная обработка потока данных происходит описанным ниже образом:
-olcuc Преобразование из нижнего регистра в верхний регистр не производится
onlcr Перевод строки применяется как возврат каретки/перевод строки
-ocrnl При возврате каретки перевод строки не производится
-onocr Возврат каретки производится даже в столбце 0
nl0 Нет паузы после перевода строки
cr0 Нет паузы после возврата каретки
tab0 Нет паузы после табуляции
bs0 Нет паузы после забоя
vt0 Нет паузы после вертикальной табуляции
ff0 Нет паузы после перевода страницы

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

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

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

/usr/sbin/lpadmin -p имя_принтера -o "stty='список_опций_stty'"

Обратите внимание, что при указании в списке список_опций_stty более чем одного элемента необходимо использовать как одинарные так и двойные кавычки.

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

/usr/sbin/lpadmin -p имя-принтера -o "stty=-onlcr"

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

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

/usr/sbin/lpadmin -p имя-принтера -o "stty='parenb parodd cs7'"

Настройка принтера с несколькими именами

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

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

Например, для того чтобы настроить два виртуальных принтера port и land, использующих физический принтер Hewlett-Packard LaserJet, необходимо выполнить следующую процедуру:

  1. Настройте физический принтер. Укажите в поле Имя слово real, а в поле Модель - HPLaserJet.
  2. Настройте виртуальные принтеры port и land. Установите в поле Модель значение network. В поле Устройство укажите то же, что указан для принтера real.
  3. Создайте файл /usr/spool/lp/remote и добавьте в него следующие строки:

    	   port:	lp -dreal -oportrait
    	   land:	lp -dreal -olandscape
    	
    

    После выполнения этой команды при печати на принтере land служба печати направляет задания печати на принтер real с опцией -olandscape (печать в альбомном режиме), а при печати на принтере port, служба печати направляет задания печати на принтер real с опцией -oportrait (печать в книжном режиме).

    Примечание:  Опции, перечисленные после слова -dreal зависят от модели принтера. Просмотрите интерфейсную программу вашего принтера, расположенную в каталоге /usr/spool/lp/admins/lp/interface и определите опции -o, зависящие от принтера или от класса принтеров.

Для того, чтобы напечатать файл в альбомном режиме, введите:

   lp -dland имя_файла

При выполнении этой процедуры, опция -dland команды lp преобразовывается в опции, подходящие для принтера (в этом примере -dreal -ol).

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

   :
   # Land - сценарий оболочки, выполняющий печать в альбомном режиме
   #
   # синтаксис:  land <файл> <файл> ...
   #
   #
   lp -dreal -ol $@

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


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]