Fax Printer Server HOWTO per sistemi Linux

Erez Strauss, <erez@newplaces.com>

v1.0, 8 novembre 1997


Nessuna garanzia. I commenti sono benvenuti. Questo documento descrive in dettaglio uno dei modi più semplici per impostare un server fax sul vostro sistema Linux. Il fax sarà disponibile agli utenti del sistema locale e agli utenti della rete. Traduzione a cura di Mauro Franceschini, <mauro.franceschini@inwind.it>.

1. Introduzione

Per far funzionare una stampante/fax su una macchina linux, dovete dotarvi del software necessario e di un modem che supporti l'invio/ricezione dei fax.

Il software di stampa utilizzerà il software del fax come filtro di stampa. efax cercherà il numero di fax all'interno del numero del lavoro di stampa e spedirà il fax. Il software efax è stato scritto da Ed Casas <edc@cce.com>

La parte restante di questo documento è scritta come una sezione di Domande e Risposte.

2. Domande e Risposte

2.1 Cos'è un server di stampa fax?

Un server di stampa fax è un insieme di alcuni programmi: efax ed il server di stampa, in modo tale che l'invio di un fax dal computer sia semplice come stampare un pagina sulla stampante.

2.2 Come impostarlo?

Impostare efax come un server di stampa fax è una procedura che comporta alcuni problemi. Poiché vi ho lavorato per un po' di tempo, ho deciso di mettere assieme la mia esperienza in questo piccolo mini-HOWTO, per il quale sono bene accetti commenti a <erez@newplaces.com>. Descriverò qui i problemi e le soluzioni, assieme a tutte le istruzioni per attuarle in pochi passi.

Il software efax

Siate sicuri di avere installato il pacchetto efax.

In un sistema basato sui pacchetti RPM utilizzate il comando 'rpm -qv efax'.

Potete ottenere i sorgenti di efax in formato tar.gz presso il sito: ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz oppure la versione RPM compilata: ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm

La voce del file printcap

Nella documentazione di efax manca un : alla fine della voce nel file printcap.

Soluzione: Aggiungere la seguente voce nel file /etc/printcap:

fax:\
       :lp=/dev/null:\
       :sd=/var/spool/fax:\
       :if=/usr/bin/faxlpr:

Il comando fax

Utilizzate un link fisico e non uno simbolico al comando fax.

Eseguite il comando:

    ln /usr/bin/fax /usr/bin/faxlpr

Il file /usr/bin/fax

Modificate il file /usr/bin/fax perché aderisca alle vostre preferenze: scegliete la giusta Classe del Fax del vostro modem:

    CLASS=2.0

Impostate il campo FROM="il vostro numero di telefono con prefisso internazionale"

    NAME="Il vostro nome"

Aggiungete la linea per la conversione del numero di telefono internazionale a quello locale; in Israele, ad esempio, dovreste usare:

    TELCVT='sed -e s/+972/0/ -e s/+/00/'     # Israele

Vi è inoltre un problema nella linea 586 del file, nella quale dovete cambiare il testo cfile=... con le seguenti due linee:

    cfile=`/usr/bin/tail -1 lock`
    cfile=`cat $cfile`

mentre nelle linee 586-7 non dovrebbe esserci un segno '-'; le linee sono:

    0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;;
    *) echo "$l" | mail -s "fax to $num failed   " $user@$host ;;

La directory /var/spool/fax

Create la directory /var/spool/fax

    mkdir /var/spool/fax
    chmod 777 /var/spool/fax

Il file di lock

Il file di lock (/var/spool/fax/lock) viene creato con i permessi sbagliati, utilizzate il seguente comando per impostarlo correttamente:

    touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock

Il file speciale /dev/modem

Il programma efax si aspetta un vero dispositivo in /dev/modem e non funzionerà con un collegamento simbolico, così dovete creare un file di dispositivo con gli stessi numeri primario e secondario del dispositivo /dev/cua? a cui è collegato il modem. Il file dovrebbe avere i permessi impostati a rw-rw-rw- per permettere a qualunque utente di utilizzare il software del fax.

    ls -lL /dev/modem
    rm /dev/modem
    mknod /dev/modem c Pr Se
    chmod 666 /dev/modem
Pr vale 5 ed Se vale 64 per cua0, 65 per cua1 e così via. Ad esempio (per cua1):
    mknod /dev/modem c 5 65

La directory /var/lock.

Cambiate i permessi alla directory /var/lock

    chmod 1777 /var/lock

Come lo devo impostare, per usarlo come server?

Dovreste utilizzare la stampante fax utilizzando l'opzione -P e quella -J con il numero di fax. Usate uno dei seguenti comandi lpr:

    lpr -Pfax -J <Numero di Fax> [nomi dei file]
    qualunque comando | lpr -Pfax -J <Numero di Fax>

Dove devo specificare il numero di Fax a cui inviare?

Dopo l'opzione -J.

Come posso fare per utilizzarlo da altre macchine Unix nella rete?

Aggiungete le seguenti linee al file /etc/printcap sui computer che lo utilizzeranno, create la directory di spool, e così via...

fax:\
        :sd=/var/spool/fax:\
        :mx#0:\
        :sh:\
        :rm=host.domain:\
        :rp=fax:
Aggiungete quindi il nome del computer client nel file /etc/hosts.lpd sulla macchina server fax. Utilizzatela come descritto in precedenza.

Note

La stringa d'intestazione che efax aggiunge alle pagine di fax non è influenzata dal nome dell'utente che invia il fax.

Utenti di Caldera e LPRng

Il software di gestione di stampa LPRng utilizza un metodo differente per il controllo dei file.

Un grazie a Luca Montecchiani <m.luca@usa.net>, che ha scoperto il problema e la soluzione. Qui vi è un aggiornamento al file /usr/bin/fax. Le linee seguenti sostituiscono le due linee 586,587

# Modified to work also with the LPRng package
# Luca Montecchiani (08/11/97 m.luca@usa.net)
if [ !-z "$CONTROL_FILE" 
    then
        cfile=`cat tail -1 lock`
        cfile=`cat $cfile`
    else
        cfile=$CONTROL_FILE
fi

2.3 Ultima versione, contattare l'autore.

L'ultima versione di questo documento può essere recuperata in rete ai seguenti URL

http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.sgml http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.html http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.txt http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.info

Potete contattarmi:

Erez Strauss

erez@newplaces.com

http://www.newplaces.com/linux

http://www.newplaces.com

Telefono: +972 52 739737

Fax: +972 9 954 3034