original in en Mark Nielsen
en to tr:Erdal MUTLU
Efax ve fax gerçekten aynı şeyler. "fax", efax'ı kullanan bir betik programıdır.
/usr/bin/fax dosyasını /usr/bin/fax_custom olarak kopyalayınız. Ben aşağıdaki satırları değiştirdim:
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 dosyasında da :
S0:2345:respawn:/bin/sh /usr/bin/fax_custom answer
değişikliğini yaptım.
efax -d /dev/ttyS0 -l "268 1162" -c 1,5 -r replyve
fax answer
Eğer, fax sürecinin arka planda kopyasını çıkartıp, başka fax'lar için beklemesini istemiyorsanız, "Yapılandırım dosyaları" bölümünde sözünü ettiğim /etc/inittab dosyasındaki değişikliği yapmayınız.
Eğer ağaşıdaki komutu çalıştırırsanız:
ps auxw | grep efaxarka planda çalışan fax sürecini aşağıdakine benzer şekilde göreceksiniz:
Güzel olan şey ise, "1698" numaralı süreci öldürdüğünüzde, süreç yeniden başlatılacktır ve /usr/bin/fax_custom dosyasını ibaştan okuyacaktır. Dolayısıyla, /usr/bin/fax_custom dosyasında değişiklik yaptığınızda, efax sürecini öldürmeniz yeterlidir. Böylece, yaptığınız değişiklikleri denetleyebilirsiniz.
Eğer, yazıcıdan bastırmak istiyorsanız efix'i aşağıdaki gibi kullanabilirsiniz:
efix -ops fax_20020606_014847.001 | lpr
Benim size tavsiyem fax'ları önce yazıcıdan bastırmanız daha sonra da başka bir dizinde yedeklemenizdir.
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
Şimdi, benim yaptığım değişiklikler aşağıdaki gibidir:
l=`$FAX send "$num" fax$$` satırını `gs -q -sDEVICE=tiffg3 -dNOPAUSE -sOutputFile=fax_out fax$$ </dev/null` l=`efax -t $num fax_out` `rm fax_out`olarak değiştirdim. Ayrıca, faxlpr bölümündeki üç satırı:
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/..//`olarak değiştirdim.
#!/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;
"fax" komutu kilit dosyaları yaratmak istediği için ve ben bunu istemediğim için, perl betik programı onu, süreç numarasını bularak "efax" ile değiştirmektedir.
Benim kullandığım yöntemin, kilit dosyaları olayını bozduğu için fax alırken fax göndermeği denediğizde sorunlar yaratabilir.
Tüm bunlardan sonra, yazıcıdan baskı alan programınız "-J" seçeneğini, 'lpr -P fax -J "555 1212" file.ps' gibi kullanabilmesi gerekmektedir. Yada, bir dosyaya yazıp daha sonra bu dosyayı bastırabilirsiniz.
Ayrıca, yazıcı suncusunu kullanmadan, fax göndermek için efax komutunu kullanabilrdiniz. Buna rağmen, fax'ı göndermek için öncelikle gs programını kullanarak dönüşüm yapmanız gerekece ki, bu da insanı uğraştırmaktadır.
Efax, mgetty'yi kullanmayı öğrenene kadar (denedim ancak başarılı olamadım) geçici bir çözümdür. Hylafax'ı kullanmamanın tek nedeni rpm paketlerini yüklerken mgetty ile çakışma olması ve dikktimin mgetty yönünde çevrilmiş olmasıdır ve sonuç olarak efax'a kaymış oldum. Mgetty'yi mutlaka tekrar deneyeceğim, çünkü aynı modem üzerinden hem fax almak ve gndermeyi, hem de ses ve giriş oturumlarını kullanmak istyiyorum. Ses, fax ve giriş oturumlarını ayna kullanmak mümkün gibi, ancak fax, ses ve giriş oturumlarını algılamada sorunlar yaşanabilir gibi. Gerçekten de efax ve yazıcı sunucusu ile fax göndermeyi beğenmiyorum. Umarım mgetty ile yaşadığım sorunları çözerim.