ГЛАВА 25. РАБОТА С ФАКСОМ В LINUX

1. Глава 25. Работа с факсом в Linux

 

Глава 25 . Работа с факсом в Linux

  • Программное обеспечение для работы с факсом в Linux
  • Efax для Linux

Мы уже изучили использование модемов для связи между компьютерами, в основном, для доступа к Internet. В этой главе рассмотрена другая, не менее популярная возможность использования модемов: отправка и получение факсов

Для работы с факсом в Linux существует несколько программ, которые (как все программы в мире Linux и Unix) изначально ориентированы на работу с командной строкой. Эти программы являются мощнйми средствами, могут работать с самыми разнообразными документами и полностью автоматизировать услуги факса.

В основе работы с факсом в Linux - способность многих программ предоставлять свой сервис, используя встроенные средства печати документов или возможность отправлять факсы способом, аналогичным отправке e-mail.

В главе дан обзор основных принципов организации работы с факсом в Linux и рассмотрены существующие программные решения. Подробно изучена работа наиболее распространенной программы efax, входящей в дистрибутив Red Hat Linux 7.1, прилагаемый к книге.

Примечание

Программа efax не входит в состав диска CD-ROM, который поставляется с книгой. Если вы располагаете стандартным дистрибутивом Red Hat Linux 7.1, то сможете найти эту программу на втором инсталляционном CD. Можно также загрузить RPM-пакет с узла http://www.redhat.com или http://www.rpmfind.net .

 

2. Программное обеспечение для работы с факсом в Linux

 

Программное обеспечение для работы с факсом в Linux

В мире Linux и Unix есть несколько основных программ для отправки и получения факсов: efax, NetFax, mgetty+sendfax и HylaFax.

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

Как базовый пакет efax, конечно, не решает многих сложных задач, которые делают HylaFax и NetFax идеальным выбором для многопользовательских сетевых конфигураций. Тем не менее, в efax реализована поддержка наиболее часто используемых функций, с которыми работают все пользователи, но в основном - отдельные пользователи или сотрудники небольших офисов.

 

3. Efax для Linux

 

Efax для Linux

Efax — почти стандарт de facto программного обеспечения для работы с факсом в Linux, поскольку эта программа поставляется со многими дистрибутивами Linux. Эта глава посвящена использованию efax для Linux.

Совет

Чтобы ознакомиться с другими пакетами для работы с факсом в Linux, обратитесь к списку Linux Applications на странице http://www.linuxapps.com/ . Мы предполагаем, что в системе инсталлирован факс-модем. В гл. 18 описано, как настроить модем для использования в Linux. Чтобы быть уверенным в правильной настройке модема, следуйте приведенным рекомендациям.

Примечание

Программа efax, рассматриваемая в этой главе, не имеет отношения к приложениям efax.com. Название efax, по сути, представляет собой сокращение от "Ed's fax program," указывая, что автором программы является Эд Касас (Ed Casas). Дополнительные сведения о программе efax можно получить на узле http: //www.cce.com/efax.

 

4. Инсталляция Efax в Linux

 

Инсталляция Efax в Linux

В начале работы с факсом следует инсталлировать программное обеспечение efax. Если на компьютере инсталлирована версия Linux (прилагаемая к книге), то в системе наверняка установлена программа efax. Проверьте ее наличие с помощью команды rpm.

$ rpm -q efax

Еслиейх инсталлирована, то rpm выводит на экран название пакета efax, например efax-0.9-8. Если пакет не инсталлирован, то rpm выводит сообщение, подобное следующему:

Package efax is not installed.

Если efax не инсталлирована, можно использовать две возможности:

  • инсталлировать программу с дистрибутивного диска Red Hat Linux 7.1 CD-ROM (в стандартном дистрибутиве она расположена на втором CD);
  • загрузить и инсталлировать программу из Internet.

Инсталляция Efax с Red Hat CD-ROM

Если у вас Red Hat Linux инсталлирован со стандартного дистрибутива CD-ROM (а не с прилагаемого к книге) и необходимо инсталлировать версию efax из этого дистрибутива, то следует монтировать второй дистрибутивный CD-ROM в его стандартное местоположение (обычно /mnt/cdrom), используя команду mount. (Предполагается, что CD-ROM является устройством /dev/cdrom).

$ mount /dev/cdrom /mnt/cdrom

После того, как CD-ROM смонтирован, используйте команду rpm для инсталляции пакета еfах-0.9-8.1386.rpm:

$ rpm -i /mnt/cdrom/RedHat/RPMS/efax-0.9-8.1386.rpm

Загрузка и инсталляция Efax из Internet

Последнюю версию efax можно получить по FTP с узла ftp: / /metalab. unc. edu/pub/ Linux/apps/serialcomm/faxA Во время написания книги последней версией программы была версия 0.9, а файл, который необходимо было загрузить, назывался efax- 09 . tar. gz.

Загрузив файл, используйте команду tar для распаковки архива во временный каталог.

$ tar xzvf efax-09.tar.gz

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

$ make

Программное обеспечение efax будет полностью скомпилировано.

Предположим отсутствие ошибок в процессе компиляции (безопасное предположение, поскольку efax - простая программа). Для инсталляции efax в каталог по умолчанию используется следующая команда.

$ make install

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

Примечание

Для Red Hat Linux 7.1 придется изменить Makefile перед тем, как выполнять команду make install Откройте сценарий Makefile в каком-нибудь текстовом редакторе. Этот сценарий расположен в том же каталоге, в котором вы распаковывали архив ef ax-09. tar. gz (например, /trap/ef ax-0.9). В разделе install: сценария вторая команда выглядит как

ср fax.1 efox.l efix.l $ (MANDIR)/monl. Измените ее к виду ср fax.l еfаx 1 efix 1 /usr/ghare/man/manl, как показано на рис. 25.1.


Рис. 25.1. Отредактированный Makefile-сценарий для efax

Конфигурирование Efax для Linux

Перед отправкой первого факса необходимо определить несколько параметров, обеспечивающих правильную работу программы efax. Чтобы настроить программу, отредактируйте файл /usr/bin/fax и введите следующую информацию.

  • В строке, которая начинается с FROM, введите номер телефона (например, FROM="+1 212 555 1212").
  • В строке, которая начинается с PAGE, укажите размеры бумаги по умолчанию для страны пользователя (например, PAGE=letter, PAGE=legal илиРАСЕ=а4).
  • Найдите строку, начинающуюся с DEV, и проверьте, соответствует ли устройство вашему модему, например, modem или ttyS0. Более подробные сведения о модемных устройствах приведены в гл. 18.
  • В строке, которая начинается с NAME, введите имя, которое должно появляться в заголовке отправляемых факсов.

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

Если вы работаете, например, не в Северной Америке, найдите в конфигурационном файле /usr/bin/ f ax переменную TELCVT и снимите комментарий только с той строки TELCVT, которая соответствует стандартам телефонных служб вашей страны.

 

25.1.gif

Изображение: 

5. Отправка первого факса

 

Отправка первого факса

Пакет ef ах содержит три основных программы: ef ax, ef ix и fax.

  • Программа ef ax - ядро системы. Она отправляет из файлов и получает в файлы факсы в стандартном формате: Group 3 сжатых TIFF файлов. Невозможно использовать ef ах для отправки текстовых файлов, файлов PostScript или файлов любых других типов без предварительного конвертирования их в формат Group 3 сжатых TIFF файлов.
  • Программа ef ix используется для преобразования, обеспечивая возможность преобразования файлов в текстовый, растровый и TIFF форматы и обратно. При сочетании ef ах и ef ix возможна отправка многих изображений и текстовых файлов как факсов.
  • Программа fax обеспечивает уровень интеграции, на котором можно создавать, отсылать, получать, просматривать и печатать факсы. Эта программа соединяет в одно целое efax, ef ix и другие компоненты Linux для обеспечения достаточно полного набора функций факса в Linux.

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

Отправка факсов

Программа fax позволяет легко отправлять факс из текстового файла или файла PostScript. Синтаксис команды для отправки факса:

$ fax send options number file

Команда предусматривает три опции, используемые при отправке факса:

  • / - использовать низкое разрешение (96 точек на дюйм);
  • v выдавать подробные сообщения и статус программы;
  • т - считать номер телефона набранным (тогда номер телефона не вводится).

Номер телефона должен быть в той же форме,- в которой проводится его набор. Например, если необходимо дозваниваться по внутреннему телефону 555-1212, то следует указать 5551212 или 5 5 5 -1212. Если необходимо набирать 9 для выхода на внешнюю линию, то следует указать 95551212 или 9-5551212, или 9-555-1212.

Предположим, имеется тестовый файл с именем textf ile в каталоге /trap. Необходимо отправить этот файл как факс низкого разрешения по номеру 123-4567, используя 9 для выхода на внешнюю линию. Для отправки данного факса используется команда $ fax send -I 9-123-4567 /tmp/textfile

Пусть текстовый файл содержит следующий текст.

This is a test of the efax package. Using the fax command, we can send text files as faxes.

Полученный факс показан на рис. 25.2.


Рис. 25.2. Типичный факс, созданный программой efax

Оправка нескольких файлов как один факс

Кроме отправки отдельного файла как факса, можно отправлять несколько файлов как один факс. Если необходимо отправить содержимое /tmp/textf ile после содержимого другого текстового файла /tmp/textf ile2, то используется команда

$ fax send 9-123-4567 /tmp/textfile /tmp/taxtfile2

которая отправит файлы в заданном порядке.

Примечание

Так можно комбинировать только несколько текстовых файлов. Для объединения файлов PostScript с текстовыми файлами или другими файлами PostScript приведенная команда не работает.

Но как поступить при необходимости отправить страницы не в том порядке, в котором они находятся в файле, или отправить только некоторых страниц из файла? Для этого нужно преобразовать файл в факс-форматированный файл TIFF. Каждая страница факса будет помещена в отдельный файл и можно будет указать конкретные страницы для отправки.

Таким образом, используются возможности создания программой fax факс-форматированных файлов. Например, если имеется файл PostScript с именем /tmp/psfile, занимающий три страницы, можно преобразовать его в три факс-форматированных TIFF-файла следующей командой.

$ fax make /tmp/psfile

В результате будут получены страницы, помещенные в три отдельных файла с именами

/tmp/psfile.001, /tmp/psfile.002 и/tmp/psfile.003.

Страницы, которые получаются после преобразования файла в факс-формат, имеют то же имя, что и исходный файл, с тремя цифрами, упорядочивающими расширения файлов. Например, файл test. txt породит страницы факса с именами test. txt .001, test. txt. 002 и т.д.

Единственная опция, доступная для пользователя при использовании команды fax make, это выбор режима низкого разрешения -1.

$ fax make -1 /tmp/psfile

Вернемся к преобразованному ранее трехстраничному документу. Если необходимо' отправить третью страницу, за ней - первую, не отправляя вторую, используется следующая команда.

$ fax send /tmp/psfile.003 /tmp/psfile.001

 

25.2.gif

Изображение: 

6. Отправка факса с использованием печати

 

Отправка факса с использованием печати

Хотя это замечательно - отправлять факсы с использованием специальной команды fax, -пользы от нее немного, если факсы приходится отправлять из таких приложений как Netscape, WordPerfect или Applix Words.

Примечание

Конечно, если имеется всего один модем, и он используется для навигации по Internet с Netscape, то отправить факс с помощью Netscape невозможно, поскольку модем используется для связи с Internet.

Рассмотрим, Netscape. Существует возможность печатать из Netscape в файл, получая в результате файл в формате PostScript. Но отправка такой страницы как факса связана с дополнительным действием - переключением в командную строку для отправки файла как факса.

К сожалению, передавать факс из Linux не так просто, как из Windows или приложений Macintosh, где этот процесс столь же прост, как печать документа.

Однако в Linux возможно создание специального печатающего устройства, которое будет использовать efax для отправки файла, распечатанного как факс.

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

Для настройки очереди печати для печати на факс-модем необходимо выполнить три действия.

  1. Конфигурировать очередь на печать.
  2. Настроить сценарий faxlpr.
  3. Подготовить каталог spool.

Эти действия выполняет пользователь root вашей системы.

Конфигурирование очереди на печать

Для настройки очереди на печать следует отредактировать файл /etc/printcap. local. После-перезапуска демона Line Printer Daemon (Ipd), эта информация будет включена в стандартный конфигурационный файл принтера /etc/printcap. Откройте файл /etc/printcap.local в каком-нибудь текстовом редакторе и добавьте следующие строки.

:if=/usr/bin/faxlpr:

Эти строки определяют имя очереди как fax, устанавливают каталог спулинга /var / spool / fax, снимают ограничения на размер задания mxttO, объявляют устройство принтера /dev/null и назначают входной фильтр /usr /bin/ f axlpr.

Примечание

Если вы используете только утилиту Apsfilter, описанную в гл. 18, и не будете использовать утилиту Printconf, описанную в гл. 15, можете редактировать непосредственно файл /etc/printcap.

Настройка сценария faxlpr

Программа fax - очень гибкий сценарий оболочки. Когда сценарий называется его обычным именем (fax), предполагается, что команда выполняется из командной строки и ведет себя соответственно. Если сценарий называется альтернативным именем (f axlpr), то предполагается, что сценарий будет запрашивать разрешение на отправку факса через очередь принтера Ipd.

Прежде всего, необходимо создать связь с конфигурационным файлом факса. Например, если это файл . ef ахгс в каталоге /home/mj, используйте команду:

$ In /home/irrj/.ef axrc /usr /bin/ f axlpr

Если файл . ef axrc в вашем базовом каталоге создан не был, можно непосредственно связаться с факсом:

$ In /usr/bin/fax /usr/bin/faxlpr

В завершение перезапустите демон Ipd. В Red Hat Linux 7.1 для этого используйте команд) /etc/re.d/init.d/lpd restart. Другие дистрибутивы могут хранить демон Ipd в другом каталоге.

Отправка факсов с использованием очереди на печать

После того, как соответствующие настройки установлены, можно отправлять первый факс с использованием системы Ipd. Аналогично печати файла по команде 1рг, можно отправить факсом текстовый файл или файл PostScript. Единственная особенность состоит в том, что следует использовать аргумент - J команды 1рг для указания номера телефона, по которому будет отправлен факс.

Например, если имеется файл /tmp/ test file, который надо отправить факсом по номеру 555-1212 при помощи очереди на печать с именем fax, можно использовать следующую команду.

$ Ipr -Pfax -J 5551212 /tnp/testfile

Демон Ipd проводит файл через входной фильтр (f axlpr), который пытается отправить факс. После этого f axlpr отправляет пользователю, передающему факс, сообщение e-mail с оповещением об успешном (или неудачном) завершении процесса.

Так можно печатать из любой программы, которая позволяет настроить опции команды Ipr и формирует вывод в формате PostScript (в том числе Netscape 6, WordPerfect for Linux и StarOffice).

 

7. Получение факсов

 

Получение факсов

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

Эта команда запускает программу fax, программа ожидает телефонный звонок и отвечает после второго гудка. Как и при использовании команды fax receive, входящий факс сохраняется в файле с именем, по умолчанию содержащим дату получения факса. Входящий факс можно просмотреть и распечатать командами fax view и fax print.

Автоматическое получение всех входящих факсов

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

Использование опции -w команды fax переводит команду в режим демона, ожидающего входящих звонков на факс-модем. Примером такой команды efax для указанной телефонной линии может служить:

$ efax -d /dev/modem -w -iSO=5

Ключ -d сообщает утилите efax имя файла устройства /dev/modem. Ключ -w заставляет efax ожидать запроса ("звонка", если речь идет о стандартных телефонных линиях США). Ключ -iSO задает для efax режим ожидания пяти (в данном примере) гудков перед снятием трубки.

Если необходимо, чтобы система принимала факсы все время, можно поместить команду наподобие efax -d /dev/modem -w -iSO=5 в файл автозапуска /etc/re.d/rc.local, чтобы этот демон запускался каждый раз при загрузке Linux.

Примечание

Место хранения файла автозапуска re. local в каждом дистрибутиве Linux свое.

Для прекращения работы демона используется команда $ efax stop

Демон будет уничтожен. Как только появится сообщение, что efax отключен, все автоматические ответы прекращаются.

 

8. Что дальше

 

Что дальше

Теперь вы знаете, как отправлять и получать факсы средствами системы Linux.

Следующая часть книги посвящена другой теме: использованию Linux в малых (или домашних) офисах (SOHO). Мы рассмотрим, как инсталлировать Linux в сетевое окружение и проверить основную сетевую конфигурацию. Будут описаны сервисы Linux, которые можно использовать в окружении SOHO, среди которых почтовый сервер, локальный Web-сервер, файл-сервер для сетей UNIX, Windows и Novell.