Faxy v Linuxu

Jan Holec <xholec@fi.muni.cz>


Obsah


Formáty faxových stránek

Pro faxové dokumenty se používá formát G3 ("Group 3"), který je definován standardem ITU T.4. (Existuje i formát g3-2d a g4).

V jednom souboru je uložena vždy jedna stránka faxu. G3 soubory jsou dvou typů: s vysokým (fine) rozlišením (204×196 dpi) a s nízkým (normal) rozlišením (204×98 dpi). Pouzívá se také jednotka lpi (lines per inch): 98 lpi, 196 lpi. Celková šířka stránky je vždy 1728 pixelů, délka je v podstatě libovolná (obvykle něco kolem 2100 pixelů).

Stránky ve formátu G3 se dají vytvořit pomocí gs nebo programu pbm2g3.

Příklad použití gs:

gs -sDEVICE=dfaxhigh -sOutputFile=/tmp/fax.g3.%d file.ps

vygeneruje samostatný g3 soubor pro každou stránku (%d se nahradí číslem stránky).
Lze použít ovladače dfaxhigh a dfaxlow (nízké/vysoké rozlišení), nebo ovladač faxg3 (podobné jako dfaxhigh).

Příklad použití programu pbm2g3 (pbm = portable bitmap):

cat file.txt | pbmtext | pbm2g3 >fax.g3

Leckterý bitmapový formát je možné převést na pbm (balík pbmplus, RH: libgr-progs.rpm).

K prohlížení faxů lze využít program viewfax nebo např. KFax.

Vytisknout fax lze asi nejjednoduššeji tak, že se konverzními programy převede na formát pbm a pak (pomocí pnmto*, pbmto*) na něco dalšího, např:

cat fax.g3 | g32pbm | pnmtops | lp


Odesílání a příjem faxů

Faxy se dají přijímat pomocí programu mgetty (konfigurace v /etc/mgetty+sendfax/mgetty.config). Příchozí faxy se ukládají do adresáře FAX_SPOOL_IN (typ. /var/spool/fax/incoming). Jednotlivé stránky faxu se ukládají do samostatných souborů; mgetty vymýšlí jedinečná jména:

f<resolution><seq number><line>[<-remote id>].<page number>

Volby použitelné v mgetty.config (existují i ekvivalentí přepínače pro příkazový řádek):

K odeslání jednoho faxu slouží program sendfax (konfigurace v /etc/mgetty+sendfax/sendfax.config).

sendfax [-n] <phone number> <fax page(s)>

Volbu -n použijeme, jsou-li stránky v nízkém (normal) rozlišení.

faxspool [options] <phone number> <files>

Zjistí typ zadaných souborů, zkonvertuje je do formátu G3 a zařadí do fronty k odeslání (uloží je typ. do podadresáře ve /var/spool/fax/outgoing). Dokáže automaticky vytvořit hlavičku na začátku každé stránky (/etc/mgetty+sendfax/faxheader). Telefonní číslo může být alias.

faxrunq ("run the queue")

Projde frontu a pokusí se odeslat všechny úlohy (pomocí sendfaxu). Po úspěšném odeslání úlohu smaže a vlastníka informuje mailem. Program je vhodné spouštět periodicky přes cron.

faxrunqd

Totéž, ale běží jako démon. Umožňuje navíc tzv. "policy routing" při odesílání faxů - různá nastavení v závislosti na cílovém tlf. čísle, přepis částí čísla (s/vzor/nahrada)...

faxq

Výpis všech úloh ve frontě.

faxrm

Odstranění úlohy z fronty.


HylaFAX

HylaFAX je další systém pro příjem a posílání faxů. Pracuje na principu klient-server. Server (hfaxd)běží na počítači, ke kterému je připojen faxmodem (na každé sériové lince, ke které je připojen faxmodem, pustíme z /etc/inittab program faxgetty).

Ostatní počítače v síti pak předávají serveru faxy k odeslání pomocí HylaFAX-klientů (protokolem podobným ftp). Klienti jsou k dispozici pro Unixy, Windows i Mac.


Faxy ze stanic pod Windows

Buď můžeme použít přímo HylaFAX klienta pro Windows, nebo využijeme sambu:
Vytvoříme sdílenou "tiskárnu", na kterou se budou faxy z Windows posílat a napíšeme pro ni vhodný filtr, který provede odfaxování.
(
Příklad v dokumentaci HylaFAXu)


Zdroje