下一页 上一页 目录

2. 问答

2.1 什么是传真打印服务器?

传真打印服务器是由几个程序组成的设置:efax 和打印服务器,其目的是让从计算机发送传真像发送打印输出到打印机一样简单。

2.2 如何设置?

将 efax 设置为传真打印服务器包含一些问题。由于我多次解决了这些问题,我决定将这些经验总结在这个小的 mini-HOWTO 中,欢迎在 <erez@newplaces.com> 提出意见。我在这里描述这些问题和解决方案,以及所有简短步骤的说明

efax 软件

确保您已安装 efax 软件包。

在基于 RPM 的系统上,使用命令 'rpm -qv efax'。

您可以从 sunsite 获取 tar.gz 格式的 efax 源代码: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:

fax 命令

使用硬链接而不是符号链接到 fax 命令。

运行命令

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

/usr/bin/fax 文件。

编辑 /usr/bin/fax 以符合您的偏好

为您的调制解调器选择正确的传真类别(Fax Class)

CLASS=2.0
设置 FROM="您的国际电话号码" 字段
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
chmod 666 /dev/modem

cua0 的主设备号 (Mj) 为 5,次设备号 (Mi) 为 64,cua1 的次设备号为 65,依此类推。例如(对于 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 如何从网络上的其他 Unix 系统使用它?

将以下条目添加到客户端 Linux 系统的 /etc/printcap 文件中,创建 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 文件的更新。以下行替换了第 586,587 行中两个简单的 cfile=...

# 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                                       


下一页 上一页 目录