Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Установка текстового фильтра



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

Для простой настройки принтера в качестве текстового фильтра можно задать небольшой скрипт командного интерпретатора, который просто выполняет /bin/cat для посылки задания на принтер. В составе FreeBSD поставляется другой фильтр, lpf, обрабатывающий забой и подчеркивание для принтеров, которые не слишком хорошо справляются с потоком данных, содержащих такие символы. И, конечно же, вы можете использовать любую другую необходимую программу-фильтр. Фильтр lpf детально описан в разделе lpf: текстовый фильтр.

Сначала давайте создадим скрипт командного интерпретатора /usr/local/libexec/if-simple для простого тестового фильтра. Поместите в этот файл следующий текст с помощью любимого текстового редактора:

#!/bin/sh

#

# if-simple - Простой фильтр входного текста для lpd

# Установлен в /usr/local/libexec/if-simple

#

# Просто копирует stdin в stdout. Игнорирует все аргументы фильтра.

/bin/cat && exit 0

exit 2

Сделайте этот файл выполняемым:

# chmod 555 /usr/local/libexec/if-simple

А теперь потребуйте от системы LPD его использовать, указав его в качестве значения характеристики if в файле /etc/printcap. Мы добавим его для двух принтеров, имеющихся пока в примере файла /etc/printcap:

#

# /etc/printcap для хоста rose - добавлен текстовый фильтр

#

rattan|line|diablo|lp|Diablo 630 Line Printer:\

:sh:sd=/var/spool/lpd/rattan:\:lp=/dev/lpt0:\

:if=/usr/local/libexec/if-simple:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\

:sh:sd=/var/spool/lpd/bamboo:\

:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\

:if=/usr/local/libexec/if-simple:

Замечание: Копию скрипта if-simple можно найти в каталоге /usr/share/examples/printing.

9.3.1.5.7. Запуск системы LPD

Даемон lpd(8) запускается из /etc/rc, а необходимость запуска задается переменной lpd_enable. Эта переменная по умолчанию имеет значение NO. Если вы еще этого не сделали, добавьте строку:

lpd_enable="YES"

в файл /etc/rc.conf, а затем либо перезапустите машину, либо просто выполните команду lpd(8).

# lpd





Дата публикования: 2015-01-10; Прочитано: 238 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...