[LinuxFocus-icon]
Домой  |  Карта  |  Индекс  |  Поиск

Новости | Архивы | Ссылки | Про LF
Эта заметка доступна на: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Portugues  Russian  Turkce  

[Mark]
автор Mark Nielsen
<articles(at)audioboomerang.com>

Об авторе:
Mark Nielsen работает в AudioBoomerang.com, занимающейся созданием, доставкой и записью персональной мультимедийной почты, веб и почтовыми кампаниями.Он является консультантом по конечным продуктам AudioBoomerang.com, таким как например статистические отчеты по демографическим и психологическим профилям для будущих кампаний. В свободное время он пишет заметки по свободно распространяемому программному обеспечению GPL или FDL и принимает участие в некоммерческом учебном центре eastmont.net.

Перевод на Русский:
Kirill Pukhlyakov <kirill(at)linuxfocus.org>

Содержание:

 

Принимаем факсы с помощью efax.

[illustration]

Резюме:

Настроим Efax для отправки и получения факсов в RedHat 7.2.



 

Цель

Собравшись установить себе факс сервер я в первую очередь подумал о HylaFax, но в моей системе уже был установлен mgetty, который конфликтовал с HylaFax при попытке установить HylaFax rpm. Мне кажется, что я все делал правильно. И я решил настроить систему ( RedHat 7.2 ) таким образом, чтобы можно было работать с факсами без установки дополнительного софта.

Efax и fax на самом деле одно и то же - 'fax' это просто скрипт для вызова efax.

 

Конфигурационные файлы

Всего два файла надо настроить для начала работы : /usr/bin/fax and /etc/inittab.

Скопируйте /usr/bin/fax в /usr/bin/fax_custom и измените следующие строки :

FAXDIR=/var/spool/fax/incoming
NAME="AudioBoomerang.com Computer Fax Server"
FROM="+1 111 222 3333"
ANSFNAME="fax_%Y%m%d_%H%M%S"

В /etc/inittab ятакже изменил :

S0:2345:respawn:/bin/sh /usr/bin/fax_custom answer
 

Efax и fax -- однократный прием

Чтобы принять однократно факс необходимо выполнить следующую команду :
efax -d /dev/ttyS0 -l "268 1162"  -c 1,5 -r reply
или
fax answer

Если вы не хотите чтобы задача находилась в фоновом режиме, ожидая следующего приема факса - не вносите изменения в /etc/inittab, которые мы рассмотрели в главе "Конфигурационные файлы".

 

Efax и fax -- многократный прием с inttab

Если вы внесли изменения в /etc/inittab, которые мы рассмотрели в главе "Конфигурационные файлы" - просто перезагрузите компьютер и ваш модем будет принимать факсы и складывать их в каталог /var/spool/fax/incoming.

Выполните команду :

ps auxw | grep efax
и вы увидите efax, работающий в фоновом режиме :
root 1698 0.0 0.4 1576 616 ? S< 21:47 0:00 /usr/bin/efax -v -v chewmainrxtf -d/dev/modem -iZ -i&FE&D2S7=120 -i&

Примечательно то, что если вы сделате kill процесса id "1698", он перезапустится и я надеюсь перечитает файл /usr/bin/fax_custom. Таким образом после внесения изменений в этот файл достаточно просто сделать kill процесса efax перед тестированием новой конфигурации.

 

Факс приняли. Что дальше?

Можно определить в cron задачу сортировки файлов в каталоге /var/spool/fax/incoming, создавать lock file для каждой группы факсов и потом или конвертировать их в формат pdf для просмотра в веб или сразу печатать их.

Если вы захотите печатать их - используйте efix :

efix -ops fax_20020606_014847.001 | lpr

Я рекомендую вам печатать факсы и сохранять копию в специальном каталоге.

 

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

Настройка сервиса печати оказалась намного сложнее, чем я предполагал. Во-первых следуйте рекомендациям manpage :
  1. ln /usr/bin/fax /usr/bin/faxlpr
    
  2. В /etc/printcap.local
       fax:lp=/dev/null:sd=/var/spool/fax:if=/usr/bin/faxlpr_perl:
    
  3.     mkdir /var/spool/lpd/fax
        touch /var/spool/lpd/fax/lock
    
  4. /etc/rc.d/init.d/lpd restart
    

Далее я внес следующие изменения :

  1. В /usr/bin/faxlpr, я изменил
    l=`$FAX send "$num" fax$$`
    
    на
    
    `gs -q -sDEVICE=tiffg3 -dNOPAUSE -sOutputFile=fax_out fax$$ </dev/null`
    l=`efax -t $num fax_out`
    `rm fax_out`
    
    а также изменил следующие три строки в разделе faxlpr :
      num=` echo "$cfile" | sed -e /^[^J]/d -e s/..//`
      host=`echo "$cfile" | sed -e /^[^H]/d -e s/..//`
      user=`echo "$cfile" | sed -e /^[^P]/d -e s/..//`
    
  2. Далее я сохранил этот perl - скрипт в /usr/bin/faxlpr_perl и выполнил chmod 755 /usr/bin/faxlpr_perl:
    #!/usr/bin/perl
    
    my $String = "";
    foreach my $Arg (@ARGV)
      {
      if ($Arg =~ /\-j/)
        {
        my $Copy = $Arg;
        $Copy =~ s/\-j//;
        open(FILE,">lock"); print FILE "hfA$Copy"; close FILE;
        }
      }
    my $Command = "/usr/bin/faxlpr";
    system ($Command, @ARGV);
    print 1;
    
  3. Этот этап настройки наименее привлекательный - мне пришлось выполнить "chmod 666 /dev/ttyS1", чтобы пользователь lpr, контролирующий работу печати мог использовать modem.

perl скрипт позволил faxlpr находить процесс и менять команду "fax" на "efax", что было необходимо по причине попыток создания lock files, которые я не хотел создавать.

После всех этих манипуляций, вашей печатающей программе необходима возможность определения опции "-J", чтобы была возможность выполнять команду 'lpr -P fax -J "555 1212" file.ps'. В противном случае сначала надо напечатать факс в файл и уже потом на бумагу.

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

 

Выводы.

Как только представится возможность, я обязательно проведу следующие экперименты :

Efax - временное решение, до настройки mgetty ( я пробовал, но пока не получилось ). Единственная причина по которой я не использую hylafax - конфликт с mgetty во время установки rpm. Я обязательно еще попробую настроить mgetty, потому что хочу использовать этот же модем для voice и login сессий. Можно попробовать использовать один и тот же модем и для работы с факсами и для voice и login, но возникает сомнение каким образом будут идентифицироваться эти задачи. На самом деле я не хочу отправлять факсы с помощью efax и сервиса печати. Я надеюсь. что мне удастся настроить mgetty.

 

Ссылки

  1. The Easy Fax Server!
  2. A Linux Fax Server for a Windows Network
  3. Linux Fax for Dummies
  4. Hylafax

Article Version 1.2 : Date Last Changed Thu Jun 13 04:17:31 2002

 

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей :
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Mark Nielsen, FDL
LinuxFocus.org

Click here to report a fault or send a comment to LinuxFocus
Translation information:
en --> -- : Mark Nielsen <articles(at)audioboomerang.com>
en --> ru: Kirill Pukhlyakov <kirill(at)linuxfocus.org>

2002-07-06, generated by lfparser version 2.19