Linux 簡單的傳真印表機伺服器 mini-HOWTO (faxsrv-mini-HOWTO) : 問題 & 答案
Previous: 介紹
Next: 最近的版本,聯絡作者.

2. 問題 & 答案

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

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

2.2. 它要如何設定 ?

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

2.2.1. 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

2.2.2. printcap 欄位.

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

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

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

2.2.3. 那傳真指令

使用硬鏈接和符號鏈接到那傳真指令.

執行那命令:

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

2.2.4. 那 /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 ;;

2.2.5. 那 /var/spool/fax 目錄.

建立目錄 /var/spool/fax


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

2.2.6. 鎖定文件.

鎖定文件 (/var/spool/fax/lock)是由不正確的權限所建立的 ,使用那下列各項命令把它設定正確的:


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

2.2.7. 那 /dev/modem 特別的檔案.

那 efax 程式是預期有一個真的設備檔案在那裡 /dev/modem 而且無法與符號鏈接一起運作,所以建立一個設備檔案 和那 /dev/cua? 是相同的主要的和附屬號碼那是 連接到那數據機.那檔案必需要有那 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

2.2.8. 那 /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                                       


Linux 簡單的傳真印表機伺服器 mini-HOWTO (faxsrv-mini-HOWTO) : 問題 & 答案
Previous: 介紹
Next: 最近的版本,聯絡作者.