Руководство FreeBSD

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


Использование встроенных начальных страниц системы LPD

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

Почему?

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

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

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

Вы можете:

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

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

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



Содержание раздела