Ένας διαχειρηστής φάξ/εκτυπωτής είναι ουσιαστικά μια εγκατάσταση μερικών προγραμμάτων: ηλεκτρονικό φάξ, και ο διαχειριστής εκτυπώσεων, με τέτοιο τρόπο ώστε η αποστολή φάξ άπο ενα ηλεκτρονικό υπολογιστή είναι τόσο απλή όσο και η αποστολή μιας εκτύπωτικής εργασίας σε έναν εκτυπωτή.
Η εγκατάσταση ενός ηλεκτρονικού φάξ σαν διαχειριστή φάξ/εκτυπωτή εμπεριέχει μερικά προβλήματα
Ύστερα απο αρκετές προσπάθειες, αποφάσισα να μαζέψω αυτή την σοφεία
μεσα σε ενα μικρό-HOWTO. Κάθε είδους σχόλια γίνονται δεκτά στήν διεύθυνση <erez@newplaces.com>
.
Περιγράφω εδώ, τα παραπάνω προβλήματα καθώς και όλες τις οδηγίες σταδιακά:
βεβαιωθείτε οτι έχετε στην κατοχή σας το πακέτο του ηλεκτρονικού φάξ.
Σε σύστημα με υποστήριξη RPM χρησιμοποιήστε την εντολή 'rpm -qv efax'.
Μπορείτε να πάρετε τον πηγαίο κώδικα του ηλεκτρονικού φάξ σε tar.gz format από το sunsite: ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz ή το rpm με τα εκτελέσιμα : ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm
Η τεκμηρίωση του ηλεκτρονικού φαξ δεν έχει το : στο τέλος της καταχώρησης στο printcap.
Λύση: Προσθέστε την ακόλουθη καταχώρηση /etc/printcap
:
fax:\
:lp=/dev/null:\
:sd=/var/spool/fax:\
:if=/usr/bin/faxlpr:
Χρησημοποιήστε hard link και όχι συμβολική σύνδεση (soft link) στην εντολή φαξ.
Τρέξτε την εντολή:
ln /usr/bin/fax /usr/bin/faxlpr
Καταχωρήστε το /usr/bin/fax στις προτιμήσεις:
Διαλέχτε την κατάληλλη Fax Class για το μόντεμ:
CLASS=2.0
Θεστε το FROM="your international phone number" πεδίο
NAME="Your Name"
Προσθέστε την γραμμή για μετατροπή του διεθνούς τηλεφωνικού αριθμού σε τοπικό
για παράδειγμα στο Ισραήλ θα χρησιμοποιούσατε:
TELCVT='sed -e s/+972/0/ -e s/+/00/' # Israel
Υπάρχει ενα πρόβλημα στο αρχείο στην γραμμή 586, αλλάξτε το
cfile=...
με τις ακόλουθες δύο γραμμές:
cfile=`/usr/bin/tail -1 lock`
cfile=`cat $cfile`
στις γραμμές 586,587 δέν θα έπρεπε να υπάρχουν '-' σύμβολα,οι γραμμές είναι:
0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;;
*) echo "$l" | mail -s "fax to $num failed " $user@$host ;;
Δημιουργήστε τον κατάλογο /var/spool/fax
mkdir /var/spool/fax
chmod 777 /var/spool/fax
Το αρχείο κλειδώματος (/var/spool/fax/lock
) έχει δημιουργηθεί με
λανθασμένες άδειες, χρησιμοποιήστε την ακόλουθη εντολή για να το θέσετε σωστά:
touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock
Το πρόγραμμα ηλεκτρονικού φαξ περιμένει ένα αρχείο πραγματικής (real device file) στο /dev/modem
και δεν πρόκειται να δουλέψει με συμβολικό link, και έτσι δημιουργούμε ένα αρχείο συσκευής
με τον ίδιο μέγιστο (major) και ελάχιστο (minor) αριθμό, καθώς το /dev/cua?
είναι
συνδεδεμένο με το μόντεμ. Το αρχείο θα πρέπει να έχει mode το rw-rw-rw- ώστε να
επιτρέπει σε κάθε χρήστη να χρησιμοποιεί το λογισμικό φάξ.
ls -lL /dev/modem
rm /dev/modem
mknod /dev/modem c Mj Mi
chmod 666 /dev/modem
Το Mj ειναι 5, και το Mi ειναι 64 για το cua0, 65 για το cua1 κ.λ.π. Για παράδειγμα (για το cua1):
mknod /dev/modem c 5 65
/var/lock
.Αλλαξε το mode στον κατάλογο /var/lock
chmod 1777 /var/lock
Θά έπρεπε να χρησιμοποιείτε τον φαξ/εκτυπωτή χρησιμοποιώντας την επιλογή -P και τήν επιλογή -J με τον αριθμό του φάξ.
χρησιμοποιήστε μια απο τις ακόλουθες εντολές lpr:
lpr -Pfax -J <Fax-Number> [file-names]
any command | lpr -Pfax -J <Fax-Number>
Μετά απο την επιλογή -J.
Προσθέσθε την ακόλουθη καταχώρηση μέσα στο αρχείο /etc/printcap
και τα client
Linux συστημάτα, δημιουργήστε το spool directory, και συνεχίστε αναλογα ...
fax:\
:sd=/var/spool/fax:\
:mx#0:\
:sh:\
:rm=host.domain:\
:rp=fax:
προσθέστε το όνομα των client hosts στό /etc/hosts.lpd
της μηχανής με που δρα ως
διαχειριστής φαξ.
χρησιμοποιηστέ το οπως προηγουμένως.
Σημείωση:
Η επικεφαλίδα την οποία προσθέτει το ηλεκτρονικό φάξ στις σελίδες του φαξ δεν αλλάζει με βάση το όνομα του χρήστη ο οποίος στέλνει το φάξ. (μπορεί να ενημερωθεί).
Το λογισμικό διαχείρισης εκτυπώσεων LPRng χρησιμοποιεί μια διαφορετική μέθοδο για να ελέγχει τον αρχείο ελέγχου.
Ευχαριστίες στον Luca Montecchiani <m.luca@usa.net>, ο οποίος βρήκε το πρόβλημα αλλά και τήν λύση.
Εδώ είναι μια ενημέρωση τού αρχείου /usr/bin/fax
. Η ακόλουθη γραμμή αντικαθιστά τις δύο απλές γραμμές του
τύπου cfile=...>, στις γραμμές 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