original in en Mark Nielsen
en to it Monja Da Riva
Efax e fax sono esattamente la stessa cosa. 'fax' è solamente uno script che richiama efax.
Dopo aver copiato /usr/bin/fax in /usr/bin/fax_custom, ho cambiato queste linee:
FAXDIR=/var/spool/fax/incoming NAME="AudioBoomerang.com Computer Fax Server" FROM="+1 111 222 3333" ANSFNAME="fax_%Y%m%d_%H%M%S"
In /etc/inittab, ho cambiato:
S0:2345:respawn:/bin/sh /usr/bin/fax_custom answer
efax -d /dev/ttyS0 -l "268 1162" -c 1,5 -r replyoppure
fax answer
Se non volete che i fax genereati restino in background in attesa di una nuova connessione, non effettuate i cambiamenti a /etc/inittab di cui ho parlato nella sezione "File di configurazione"
Se utilizzate il comando:
ps aux | grep efaxdovreste vedere la sessione di efax in background più o meno così:
La cosa divertente è che se killate il processo con id "1698", questo si rigenererà rileggendo il file /usr/bin/fax_custom Quindi se fate cambiamenti a questo file, per testare la nuova configurazione, semplicemente killate il processo di efax prima di provare a spedire fax.
Se volete stamparli, potete usare efix in questo modo,
efix -ops fax_20020606_014847.001 | lpr
La mia raccomandazione è che stampiate il file e poi lo conserviate in una directory di backup.
ln /usr/bin/fax /usr/bin/faxlpr
fax:lp=/dev/null:sd=/var/spool/fax:if=/usr/bin/faxlpr_perl:
mkdir /var/spool/lpd/fax touch /var/spool/lpd/fax/lock
/etc/rc.d/init.d/lpd restart
Questi sono le modifiche che ho fatto io:
l=`$FAX send "$num" fax$$` to `gs -q -sDEVICE=tiffg3 -dNOPAUSE -sOutputFile=fax_out fax$$ </dev/null` l=`efax -t $num fax_out` `rm fax_out`e ho cambiato anche queste tre linee nella sezione 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/..//`
#!/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;
Lo script in Perl fa in modo che faxlpr possa trovare il numero di processo. Cambiare il comando "fax" in "efax" era necessario perchè il comando "fax" cercava di creare un file di lock che io non volevo che creasse.
Probabilmente anche il mio metodo di spedire fax elimina il file di lock, quindi potebbe "impazzire" se tentate di spedire un fax mentre ne state ricevendo un altro.
Oltre a tutto questo dolore e sofferenza, il programma che stampa deve essere in grado di specificare l'opzione "-J" in modo che si possa dare un comando tipo 'lpr -P fax -J "555 1212" file.ps'. Altrimenti potete stampare su file e solo dopo stamparlo effettivamente da riga di comando.
Potete anche usare il comando efax solo per spedire un fax senza passare per il servizio di stampa. Dovrete usare gs per convertirlo prima di spedirlo, e già così sono dolori.
Efax è solo una soluzione temporanea, finché non capirò come far funzionare mgetty (finora ci ho provato ma non ci sono riuscito) L'unica ragione per la quale non ho usato Hylafax è stato il conflitto con mgetty quando tentavo di installarlo con l'rpm, poi mgetty ha attirato la mia attenzione e quindi mi sono dedicato a configurare efax. Ho intenzione di provare e usare mgetty in futuro perchè voglio sessioni voce e console con lo stesso modem. Sembra che sia possibile usare voce, login e fax tutto con lo stesso modem -- ma sembra anche che ci siano problemi con alcuni modem a discriminare tra fax, voce e login. A me sinceramente non piace spedire fax con efax e il servizio di stampa. Spero che mgetty mi risolva alcuni di questi problemi.
Article Version 1.2 : Date Last Changed Sun Jul 13 04:17:31 2002