Next Previous Contents

2. 問題 & 答案

2.1 什麼是一台傳真印表機伺服器 ?

一個傳真印表機伺服器是由很少的程式所設置的: efax,和列印伺服器,從電腦上用這樣的方法送傳真 如同列印到一台印表機上一樣簡單.

2.2 它要如何設定 ?

安裝 efax 當作傳真列印伺服器包涵很少的問題 當我做過數次之後,我決定收集知識 在小的 mini-HOWTO之中,有任何意見歡迎寄 <erez@newplaces.com>. 我在裡描述他們和解決方法,以及其他所有簡單的步驟:

efax 軟體

查明你有 efax 軟體.

在 RPM 基礎的系統下使用命令 'rpm -qv efax'.

你可以取得 efax 來源是 tar.gz 格式從 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 欄位.

efax 文件是遺失下列這個 :在 printcap 的欄位.

解決:增加下列各項 /etc/printcap欄位:

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

傳真指令

使用硬鏈接而不是符號鏈接到傳真指令.

執行命令:

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

/usr/bin/fax 檔案.

編輯 /usr/bin/fax 成你所要的參數:

對於你的數據機選擇正確的傳真種類:

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 目錄.

建立目錄 /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

/dev/modem 特別的檔案.

efax 程式是預期有一個真的設備檔案在 /dev/modem 和它將無法與符號鏈接一起運作,所以以和 /dev/cua? 相同的主要和附屬號碼建立一個設備檔案 它連接到數據機.檔案必需要有 rw-rw-rw- 模式使任何一個使用者都能夠使用傳真軟體.

ls -lL /dev/modem 
rm /dev/modem
mknod /dev/modem c Mj Mi
chomd 666 /dev/modem

Mj是 5,和 Mi是 64對於 cua0, 65對於 cua1等等. 例如 (對於 cua1):

mknod /dev/modem c 5 65

/var/lock目錄.

改變 /var/lock目錄的屬性

chmod 1777 /var/lock

2.3 我要如何使用這伺服器 ?

你將使用傳真印表機用 -P 選項 和 -J 選項跟著傳真號碼.

使用下列 lpr 命令其中之一:

 lpr -Pfax -J <Fax-Number> [file-names]
 any command | lpr -Pfax -J <Fax-Number>

2.4 我應在何處指定目標的傳真號碼? ?

在 -J 選項之後.

2.5 我如何才能從網路上的 Unixes 的機器使用這功能 ?

加入下列各行 /etc/printcap 到檔案和客戶端的 Linux 系統,建立 spool 目錄,等等 ...

fax:\
        :sd=/var/spool/fax:\
        :mx#0:\
        :sh:\
        :rm=host.domain:\
        :rp=fax:

在傳真伺服器機器中加上客戶端機器的名稱 /etc/hosts.lpd

如同先前一樣使用它.

注意:

efax 加到傳真頁面的封面字串,是沒有效果 靠用戶名字以致發送傳真. (能夠被更新的).

2.6 Caldera, LPRng 使用者

LPRng 列印管理軟體是正在用一個不同的方法控制檔案.

幸虧 Luca Montecchiani <m.luca@usa.net>,找到問題和解決方法. 這裡有一個更新 /usr/bin/fax文件.下列各行替換簡單的兩行 cfile=...行數在…行數 586,587

# Modified to work also with the LPRng package(修改 LPRng 套件)
# 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                                       


Next Previous Contents