一個傳真印表機伺服器是由很少的程式所設置的: efax,和列印伺服器,從電腦上用這樣的方法送傳真 如同列印到一台印表機上一樣簡單.
安裝 efax 當作傳真列印伺服器包涵很少的問題
當我做過數次之後,我決定收集知識
在小的 mini-HOWTO之中,有任何意見歡迎寄 <erez@newplaces.com>
.
我在裡描述他們和解決方法,以及其他所有簡單的步驟:
查明你有 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
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 成你所要的參數:
對於你的數據機選擇正確的傳真種類:
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
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
你將使用傳真印表機用 -P 選項 和 -J 選項跟著傳真號碼.
使用下列 lpr 命令其中之一:
lpr -Pfax -J <Fax-Number> [file-names]
any command | lpr -Pfax -J <Fax-Number>
在 -J 選項之後.
加入下列各行 /etc/printcap
到檔案和客戶端的
Linux 系統,建立 spool 目錄,等等 ...
fax:\
:sd=/var/spool/fax:\
:mx#0:\
:sh:\
:rm=host.domain:\
:rp=fax:
在傳真伺服器機器中加上客戶端機器的名稱 /etc/hosts.lpd
如同先前一樣使用它.
注意:
efax 加到傳真頁面的封面字串,是沒有效果 靠用戶名字以致發送傳真. (能夠被更新的).
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