Включение выдачи начальных страниц



В разделе Простая настройка принтера мы отключили выдачу начальных страниц, задав характеристику sh (что означает ''suppress header'') в файле /etc/printcap. Для включения выдачи начальных страниц на принтер, просто удалите характеристику sh.

Кажется слишком просто, правда?

Вы правы. Может потребоваться задать выходной фильтр для посылки строк инициализации на принтер. Вот пример выходного фильтра для Hewlett Packard PCL-совместимых принтеров:

#!/bin/sh

#

# hpof - Выходной фильтр для Hewlett Packard PCL-совместимых принтеров

# Установлен в /usr/local/libexec/hpof

 

printf "\033&k2G" || exit 2

exec /usr/libexec/lpr/lpf

Задайте полное имя выходного фильтра в качестве значения характеристики of. Подробнее об этом см. в разделе Выходные фильтры.

Вот пример файла /etc/printcap для принтера teak, который мы представили ранее; мы включили выдачу начальных страниц и добавили показанный выше выходной фильтр:

#

# /etc/printcap для хоста orchid

#

teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\

   :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\

   :if=/usr/local/libexec/hpif:\

   :vf=/usr/local/libexec/hpvf:\

   :of=/usr/local/libexec/hpof:

Теперь, когда пользователи выдают задания на принтер teak, они получают начальную страницу с каждым заданием. Если пользователи хотят тратить время на поиск своих распечаток, они могут подавить вывод начальных страниц, посылая задание с опцией lpr -h; другие опции lpr(1) см. в разделе Опции начальных страниц.

Замечание: Система LPD выдает символ прогона страницы (form feed) после начальной страницы. Если ваш принтер использует другой символ или последовательность символов для выброса напечатанной страницы, укажите их в качестве значения характеристики ff в файле /etc/printcap.

Управление начальными страницами

Включая выдачу начальных страниц, система LPD будет выдавать длинный длинный заголовок, целую страницу с большими буквами, идентифицирующими пользователя, хост и задание. Ниже представлен пример (kelly напечатала задание по имени outline с хоста rose):

k              ll  ll

k               l   l

k               l   l

k k eeee  l   l y y

k k e e l   l y y

k k eeeeee l   l y y

kk k e      l   l y y

k k    e e l   l y yy

k k eeee lll lll yyy y

                                          y

                                     y y

                                      yyyy

 

 

                              ll

                     t    l   i

                     t    l

  oooo u u ttttt  l  ii n nnn eeee

o o u u t    l   i nn n e e

o o u u t    l   i n n eeeeee

o o u u t    l   i n n e

o o u uu t t l   i n n e e

  oooo uuu u tt lll iii n n  eeee

 

r rrr oooo ssss eeee

rr r o o s s e e

r   o o ss eeeeee

r   o o ss e

r   o o s s e e

r    oooo ssss eeee

 

                                         Job: outline

                                         Date: Sun Sep 17 11:04:58 1995

Система LPD добавляет прогон страницы после этого текста, чтобы задание начиналось с новой страницы (если только вы не указали характеристику sf (suppress form feeds) в записи соответствующего принтера в файле /etc/printcap).

Если вы предпочитаете, чтобы система LPD создавала короткий заголовок, укажите характеристику sb (short banner) в файле /etc/printcap. Начальная страница будет иметь следующий вид:

rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995

Также по умолчанию система LPD печатает начальную страницу перед заданием. Для изменения порядка на обратный, укажите характеристику hl (header last) в файле /etc/printcap.

Учет начальных страниц

Использование встроенных начальных страниц системы LPD порождает определенную парадигму учета использования принтера: начальные страницы пользователи не должны оплачивать.

Почему?

Поскольку выходной фильтр — единственная внешняя программа, управляющая выдачей начальных страниц, которая может выполнять учет, а ей не передают информацию о пользователе или хосте и учётный файл, так что, она не имеет никакого представления о том, на чей счет отнести использование принтера. Также недостаточно просто ''добавлять одну страницу'' в текстовом фильтре или в любом из фильтров преобразований (которые имеют информацию о пользователе и хосте), поскольку пользователи могут подавлять выдачу начальных страниц с помощью опции lpr -h. И их заставят оплачивать начальные страницы, которые они не печатали. Понятно, что опцию lpr -h будут использовать в большинстве случаев те, кто озабочен проблемами окружающей среды, но вы никак не можете стимулировать ее использование.

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

Итак, что же вы можете сделать?

Вы можете:

• Принять парадигму системы LPD и сделать начальные страницы бесплатными.

• Установить альтернативную систему вместо LPD, такую как LPRng. В разделе Альтернативы стандартному спулеру представлена дополнительная информация о других системах спулинга, которые можно использовать вместо LPD.

• Написать умный выходной фильтр. Обычно выходной фильтр не предназначен для выполнения чего-то кроме инициализации принтера и простых преобразований символов. Он подходит для начальных страниц и заданий с обычным текстом (когда нет текстового (входного) фильтра). Но, если есть текстовый фильтр для заданий с обычным текстом, то система LPD будет запускать выходной фильтр только для начальных страниц. И выходной фильтр может анализировать текст начальной страницы, которую генерирует система LPD, чтобы определить, на счет какого пользователя и хоста отнести начальную страницу. Единственная проблема этого метода в том, что выходной фильтр все равно не знает, какой учетный файл использовать (ему не передают имя файла, заданное в качестве значения характеристики af), но при наличии хорошо известного учетного файла, его имя можно явно указать в выходном фильтре. Для упрощения этапа анализа задайте характеристику sh (short header) в файле /etc/printcap. Повторимся, что это может оказаться слишком сложным, и пользователи, несомненно, больше оценят великодушного системного администратора, который сделает начальные страницы бесплатными.


Дата добавления: 2018-10-26; просмотров: 169; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!