返回列表 发帖

使用通讯程序


下载
第9学时使用通讯程序
在本学时教程中将学习使用从本书所附的C D - R O M光盘中安装的程序与外部世界进行通
讯。还将学习如何设置串行口及调制解调器、配置并使用两个通讯程序以及通过L i n u x操作系
统发送和接收传真。
虽然C D - R O M光盘中包含了所有需要用来运行L i n u x通讯程序的软件,还需要一个串行通
讯口和调制解调器才能从L i n u x系统中向外拨号。假定你熟悉调制解调器、熟悉诸如波特率、
校验或者停止位之类的通讯术语并熟悉如何连接调制解调器与计算机。
9.1 设置和测试调制解调器
第一个任务是在计算机上找出一个尚未使用的串行口。应该能够在计算机背面找到这个
端口,它应该有9个或者2 5个针脚。如果使用的是膝上电脑,可能会有一个9针的串行口;如
果使用的是内置调制解调器,应该带有一个R J - 11电话接头;或者有一个带有R J - 11电话接头
的P C M C I A调制解调器卡。
在L i n u x操作系统中,可以通过查看子目录d e v i c e或者子目录/ d e v找到串行口。在这个子
目录中定义了许多种设备—如硬盘驱动器、软盘以及打印机等等,但是应该查找的是类型
为t t y S的设备,如下所示:
# ls /dev/ttyS*
/dev/ttys0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
这些设备与传统定义上的D O S串行口相对应,如表9 - 1所示。
表9-1 DOS和L i n u x的串行口及地址
D O S端口L i n u x设备地址
C O M 1 / d e v / t t y S 0 0×2F8 IRQ 4
C O M 2 / d e v / t t y S 1 0×2F8 IRQ 3
C O M 3 / d e v / t t y S 2 0×3E8 IRQ 4
C O M 4 / d e v / t t y S 3 0×2E8 IRQ 3
如果拥有一台带有P C M C I A调制解调器卡的膝上电脑,只有在激活了这项服务并告诉
L i n u x操作系统在开机启动的时候寻找P C M C I A设备之后,才能够使用这类调制解调器(或者任
何其他的P C M C I A设备)。如果想要激活P C卡式调制解调器,需要以根操作员的身份登录进入
系统,然后编辑/ e t c / s y s c o n f i g子目录中一个名为p c m c i a的文件,把文件的内容修改为类似于下
面的这个样子:
PCMCIA = yes
PCIC = i82365
PCIC_OPTS =
CORE_OPTS =
上面的命令通知L i n u x操作系统安装P C M C I A服务。保存这个文件并重新启动L i n u x操作系
统。在重启动的过程中, P C卡式调制解调器(或者其他类型的P C卡,如果已经安装了的话)将
会被识别出来。
如果在使用P C M C I A 设备的时候遇到了麻烦,请阅读子目录
/ u s r / d o c / p c m c i a中由David Hinds编写的PCMCIA HOWTO文档。如果想了
解讨论L i n u x操作系统对P C M C I A设备支持方面的最新资料,请浏览站点:
h t t p:/ / h y p e r.stanford.edu/ HyperNews/ get/ pcmcia/ home.html
如果想下载供O p e n L i n u x操作系统使用的最新的驱动程序(内核模块),
请到站点:
f t t p://csb.stanford.edu/ pub/ pcmcia
如果在设置串行口的时候遇到问题,请阅读同样保存在子目录
/ u s r / d o c下的由Greg Hankins编写的S e r i a l - H O W TO文档。这份文档中有怎
样对串行口进行初始化和怎样解决安装过程中出现的问题方面的详细论
述。因为它是一个经过压缩的文本文件,所以阅读这份文档的时候需要
使用z l e s s页命令。如下所示:
zless /usr/ doc/ HOWTO/ Serial-HOWTO . g z
可以使用d m e s g命令查看L i n u x操作系统的启动记录,在其中相应的部分检查并确认串行
口确实被激活了。把d m e s g命令的结果输出通过管道送到l e s s页命令,这样就可以把启动记录
显示到屏幕上,从中找到与下面的内容相类似的Serial driver(串行口驱动程序)消息段落(完成
的时候,请按Q键退出):
# dmesg |
| l e s s
. . .
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 ( irq = 4 ) is a 16550A
tty03 at 0x02e8 ( irq = 3 ) is a 16550A
. . .
上面的例子显示了d m e s g文件的一部分,这样就会知道需要查看什么样的内容。上面的输
出表明系统中有对应于M S - D O S操作系统的C O M 1与C O M 4串行口,括号内是它们使用的I R Q
中断号。如果没有在这个文件中看到一个Serial driver(串行口驱动程序)段落或者是串行口的
清单列表,就必须检查L i n u x操作系统内核,看它是否确实已经激活了对串行线的支持。在缺
省的情况下,O p e n L i n u x操作系统已经提供了对串行口的支持,所以这可能根本就不会成为一
个问题。
可以使用在“使用通讯程序向外拨号”小节介绍的m i n i c o m程序交互地测试调制解调器。
使用lisa命令建立/dev/modem符号链接
使用l i s a命令初始化调制解调器。l i s a命令会在选择好调制解调器型号和调制解调器串行
口之后建立一个符号链接/ d e v / m o d e m。请注意下面的操作需要以根操作员的身份进行,也可
以使用su -命令取得根操作员权限并执行l i s a命令,加上它的- -modem参数,如下所示:
# su -c " lisa --modem "
当按下回车键之后,会看到l i s a命令的对话框,如图9 - 1所示。
在屏幕上列出的调制解调器清单中使用上下方向键把高亮度光标块移动到计算机使用的
调制解调器的类型(如今几乎所有的调制解调器都是贺氏兼容的)上,按下回车键。l i s a命令接
着会让你选择这个调制解调器使用的串行口,如图9 - 2所示。
第9学时使用通讯程序用用143 下载
在屏幕上列出的串行口清单中使用上下方向键把高亮度光标块移动到调制解调器使用的
串行口上。按下回车键之后,l i s a命令接着会让你选择调制解调器所能够达到的最大传输速率。
如果你有一台3 3 . 6的调制解调器,选择57600 bps 。如果你有一台5 6 K的调制解调器,选择
115200 bps(如图9 - 3所示)。
当按下回车键之后, l i s a命令接着会让你输入传真号码。输入传真号码之后按下回车键,
或者就只是按下回车键完成对调制解调器的配置。l i s a命令退出运行并在选定的设备和名为
/ d e v / m o d e m的文件之间建立一个符号链接(请阅读第5学时教程“操作与搜索命令”)。
144使用第三部分与外部世界连接
下载
图9-1 l i s a管理程序配置选
定的调制解调器
图9-2 在屏幕上列出的串行
口清单中用回车键选
择调制解调器使用的
串行口
图9-3 在屏幕上列出的串行
口速率清单中用回车
键选择调制解调器使
用的串行口的最大传
输速率
可以使用l s命令列出文件/ d e v / m o d e m来确认这个操作,如下所示:
# ls -l /dev/modem
l r w x r w x r w x 1 root r o o t 5 Dec 29 15:43 /dev/modem -> ttyS0
也可以从命令行上使用l n命令自行建立与l i s a命令所建立的符号链接
完全一样的符号链接。比如,如果把调制解调器连接到了C O M 2,注意下
面的操作需要以根操作员的身份进行,输入下面的内容:
# ln -s /dev/ttyS1 /dev/modem
这个命令将建立一个符号链接/ d e v / m o d e m,它指向与调制解调器连
接的串行口。
9.2 使用通讯程序向外拨号
本小节介绍O p e n L i n u x操作系统发行版本中带的两个通讯程序: m i n i c o m和s e y o n。
m i n i c o m程序在运行X 11或者没有运行X 11的环境中都可以使用,但是s e y o n程序就只有在正在
运行X窗口系统的时候才能使用。
在子目录/ u s r / b i n中还有一个年代久远的叫做c u的通讯程序。这个程序并不像m i n i c o m程
序和s e y o n程序那么容易使用,但是如果对设置并试用这个程序有兴趣的话,请阅读c u的使用
手册页,而且一定要阅读子目录/ u s r / d o c / u u c p中的关于u u c p软件的文档。
9.2.1 初始化并使用minicom程序向外拨号
由Miquel van Smoorenburg编写的m i n i c o m程序保存在子目录/ u s r / b i n中,它是一个很容易
使用的通讯程序,可以使用它来向外拨号并与其他的计算机或者B B S电子公告板系统连接。
可以在没有运行X 11的时候使用m i n i c o m程序。但是如果正在运行着X 11,就可以使用同样存
放在子目录/ u s r / b i n下的s h e l l命令脚本程序x m i n i c o m了。
执行s h e l l命令脚本程序x m i n i c o m的时候需要在一个X 11终端窗口的命
令行中输入xminicom &这样的内容,但是它不能在OpenLinux 1.3发行版
本中运行。因此,下面介绍一个x m i n i c o m的替代品供你使用。先以根操
作员的身份登录进入系统,然后使用喜欢的文本编辑程序(比如将在第1 4
学时教程“文字处理程序”中讨论的p i c o )建立一个文本文件,如下所示:
# pico -w xminicom
上面命令中的- w参数禁止了文本行的修饰功能。输入下面的内容:
xterm -bg black -fg green -cr red -n minicom -geometry 80×25 -e minicom
上面的命令行以这样的方式在一个窗口中运行m i n i c o m程序:背景是
黑色、文本是绿色、光标是红色、窗口名称是m i n i c o m、每行有8 0字符及
每页有2 5列文本行。如果使用的是p i c o,按下C t r l + X组合键保存这个文件。
接着,使用c h m o d命令把这个文本文件转换为一个可执行文件,如下所示:
# chmod +x xminicom
最后,把这个新的x m i n i c o m命令拷贝到子目录/ u s r / b i n中去,文件名
可以是相同或者是不相同。
第9学时使用通讯程序用用145 下载
当第一次使用m i n i c o m程序的时候,一定要保证是以根操作员的身份进行的。这样就可以
设置并保存m i n i c o m的缺省文件m i n i r c . d f l。这个m i n i r c . d f l文件需要建立并保存在子目录/ e t c中。
我们假设你正在运行着X 11,可以使用下面的命令启动m i n i c o m运行:
# xminicom &
这个命令会执行前面我们介绍的x m i n i c o m命令脚本程序并在一个X 11终端窗口中启动运
行m i n i c o m程序。如果想获得关于如何使用m i n i c o m程序的帮助信息,按下C t r l + A组合键,再
按下Z键就可以了。图9 - 4就是m i n i c o m程序的帮助画面。
如果想配置m i n i c o m程序,按下C t r l + A组合键,再按下O键就可以进入到它的配置画面。
卷动配置菜单,从中选择“ Serial Port Setup”(串行口设置),按下回车键。然后就可以按下A
键来输入“ Serial Device”(串行设备)。输入调制解调器连接到的设备,比如/ d e v / t t y S 1;或
者如果你已经建立好链接的话,输入它的符号链接/ d e v / m o d e m。图9 - 5就是串行口的设置画
面。
举例来说,如果想改变调制解调器的传输速率,按下E键。屏幕上就会出现一个新的对话
框,如图9 - 6所示。如果想改变波特率,按下希望设置的波特率前面相应的字母键。完成的时
候,按下回车键回到串行口设置对话框。
按下回车键,选择“ Save setup as dfl”(把设置值保存为d f l文件),再按下回车键,最后
是E s c键。你系统的缺省设置就准备好了。下面就可以使用下面命令(要用正确的电话号码代
146使用第三部分与外部世界连接
下载
图9-4 m i n i c o m通讯程序为
用户提供了内建的帮
助信息
图9-5 按下某个字母键并输
入一个新的值就可以
用m i n i c o m程序配置
串行口
替下面命令nnn - nnnn)试试与外面世界进行联系了:
ATDT nnn - nnnn
上面的命令使用了调制解调器AT命令集中的D T命令,这个命令使用一种电话拨号音向外
拨号(如果想获得一份调制解调器所使用的全部命令的清单,请查看调制解调器的使用手册)。
按下回车键之后,调制解调器就会拨出nnn - nnnn所代表的电话号码。如果想退出这个程序,
按下C t r l + A组合键,再按X键,然后按下回车键。
如果有一些与其他的计算机进行联系的电话号码,可以把它们输入到m i n i c o m程序的电话
号码本中。还可以设置m i n i c o m程序使用不同的文件传输程序来发送和检索文件。如果想了解
关于这些功能和其他功能的详细资料,请阅读m i n i c o m程序的使用手册页。也可以在子目录
/ u s r / d o c下找到一些文档,其中包含着使用这个程序的其他功能方面极为详尽的资料。
9.2.2 初始化并使用X11客户程序seyon向外拨号
由Muhammad M. Saggaf编写的s e y o n通讯程序只能在X窗口系统中运行,但是它有一个扩
展了的功能清单。虽然s e y o n程序不如m i n i c o m程序那样简单或者友好,但是它具备下列的特
点:
• 内建帮助信息
• 有一个用于自动拨号并向其他计算机系统登录的内建的电子通讯脚本程序语言
• 有一个用于编写电子通讯脚本程序的内建的文本编辑器程序
• 有一个用来运行命令的命令行s h e l l对话框,它会在主通讯窗口显示有关的输出结果
• 有用来设置调制解调器的传输速率、校验和停止位的按钮
如果已经建立了一个到/ d e v / m o d e m的符号连接, s e y o n程序就会自动识别它并使用调制解
调器进行操作。如果想向外拨号并与其他的计算机进行连接,只需要输入AT命令字符串和电
话号码就可以向外拨号并与其他的计算机进行连接了。
如果想通知s e y o n客户程序调制解调器在系统中使用的设备名,可以单击s e y o n程序的
“Command Center”(命令中心)窗口(这个窗口在启动这个客户程序的时候会自动出现)中的
“S e t”(设置)按钮进入到“ S e t t i n g s”(设置值)窗口。在“ S e t t i n g s”(设置值)窗口中单击“ P o r t”
(端口)按钮,然后在“ Va l u e s ?”(设置值)窗口中输入设备名,比如/ d e v / c u a 1。图9 - 7给出了
s e y o n程序和它的设置窗口画面。
第9学时使用通讯程序用用147 下载
图9-6 按下相应的字母键给
调制解调器设置一个
新的串行口传输速率
单击“ O K”(完成)按钮,再单击“ S e t t i n g”(设置值)窗口中的“ C l o s e”(关闭)按钮。如
果想在启动s e y o n程序的时候使用某个缺省的调制解调器传输速率、比特位或者校验位,可以
编辑修改子目录$ H O M E / . s e y o n /中的文件。这个子目录是在安装s e y o n程序的时候自动生成的。
可以对它的初始化文件中下面的内容进行修改:
使用s e y o n程序的时候如果需要帮助,可以单击s e y o n程序的“Command Center”(命令中
心)窗口中的“ H e l p”(帮助)按钮。屏幕上会弹出一个窗口显示s e y o n程序的使用手册页,可以
在其中检索文本查找需要的帮助信息。
9.2.3 为Linux系统设置拨入连接
还可以设置O p e n L i n u x系统使得计算机上连接的调制解调器能够应答电话并允许通过电话
148使用第三部分与外部世界连接
下载
图9-7 X 11客户程序s e y o n
使用鼠标方便地点按
有关按钮就可以对调
制解调器进行设置
Seyon程序主窗口seyon程序主控制菜单
帮助信息窗口波特率设置值通迅设置值
线登录。接着就可以运行公告板系统( B B S)、字处理软件、或者电子表程序。如果家里有两条
电话线并且在计算机上至少连接了两台调制解调器的时候,甚至可以通过其中的一条电话线
向另外一条线拨号。
关于细节和用户定制的配置方面的资料保存在子目录/ u s r / d o c和子目录/ u s r / d o s / g e t t y - p s
中的S e r i a l - H O W TO文件中,但是下面给出的三个基本步骤几乎适用于任何种类的调制解调
器。
如果想设置O p e n L i n u x系统能够应答拨入的电话的话,就需要编辑修
改/ e t c / i n i t t a b文件,但是如果出现错误的话,就有可能会把系统挂起来。
因此在对/etc /inittab文件进行编辑修改之前一定要准备好后备启动盘并保
存一份/ e t c / i n i t t a b文件的拷贝。
首先,以根操作员的身份登录进入系统,运行m i n i c o m程序。再使用AT命令集的& V命令
来显示调制解调器的缺省设置文件,如下所示:
也可能会看到调制解调器使用的其他内部缺省设置和寄存器数值,但是需要确定调制解
调器至少被设定为以下的值:
E1 Q0 V1 S0 = 1 &C1 &S0
可以使用AT命令把调制解调器设置为上面的数值,如下所示:
ATE1Q0V1S0 = 1&C1&S0&W
O K
请注意,在上面的AT命令字符串的末尾,使用了AT命令中的& W命令,这就把对调制解
调器的配置保存为缺省值。当输入了上面的字符串之后,也应该看到从调制解调器返回的O K
字样表示操作成功。可以再使用AT & V命令验证以上的设置。
第二步是在子目录/ e t c下建立一个名为d e f a u l t的子目录,如下所示:
# mkdir /etc/default
然后,使用c p命令从子目录/ u s r / d o c / g e t t y - p s中把文件u u g e t t y. a u t o a n s w e r拷贝到刚才建立
的子目录中,并修改文件名与调制解调器使用的串行口设备相匹配,如下所示:
# cp/usr/doc/getty_ps-2.0.7h/Examples/uugetty.autoanswer
å / e t c / d e f a u l t / u u g e t t y. t t y S 0
上面的命令行说明所使用的串行口是/ d e v / t t y S 0,它对应于D O S操作系统中的C O M 1端口。
现在使用喜欢的文本编辑器程序编辑修改这个拷贝来的新文件,在其中找到有下面内容的这
样一行:
A LTLOCK = cua2
把这个c u a 2缺省值改为拷贝来的文件的文件名后缀,也就是与调制解调器使用的串行口
相匹配的设备名,如下所示:
第9学时使用通讯程序用用149 下载
A LTLOCK = t t y S 0
保存文件并退出编辑器程序。
最后的一步需要修改系统初始化表/ e t c / i n i t t a b文件中的一行。如果查看这个文件,会看到
下面这些的内容:
在/ e t c / i n i t t a b文件的开头部分列出的每一行都代表了L i n u x操作系统的一个不同的运行层
次。这里的讨论不涉及L i n u x操作系统的运行层次和O p e n L i n u x操作系统启动过程的详细情况。
但是在上面的文件中,如果想激活L i n u x操作系统的拨号接入登录功能,需要做的全部事情就
是把有下面内容的一行:
3 : 2345 : respawn : /sbin/getty tty3 VC linux
改为:
3 : 2345 : respawn : /sbin/uugetty ttyS0 38400 vtl00
保存这个文件,然后再使用s h u t d o w n命令重新启动系统。我们刚才改动的i n i t t a b文件中的
那一行告诉O p e n L i n u x操作系统:启动系统之后,启动运行u u g e t t y命令并使用u u g e t t y程序来监
听/ d e v / t t y S 0端口有无拨入的电话信号。上面的语句中的3 8 4 0 0这个值不是对应于调制解调器某
个波特率的数值,而是对应于/ e t c / g e t t y d e f s文件中的一个自适应波特率数据项(它表示可以工作
在3 8 4 0 0或者比较低的速度上)。如果使用电话拨号进入O p e n L i n u x系统,我们已经设置好的拨
入调制解调器会调整拨出使用的调制解调器的传输速率保持同步,并显示一个登录提示符。
登录进入O p e n L i n u x操作系统的时候, / e t c / i s s u e文件的内容会显示在
登录提示符之前的显示器屏幕上。这个文件是使用子目录/ e t c / r c . d中的开
机启动命令脚本程序r c . l o c a l建立的;在每次启动O p e n L i n u x系统的时候,
它都会做为启动过程的一部分出现在屏幕上。如果想有一个与众不同的
登录先导画面,可以自行修改r c . l o c a l命令脚本程序。
如果已经设置好系统接受通过电话拨入的连接,并且希望能够使用
m i n i c o m程序的话,需要按以下的方法操作。首先,以根操作员的身份运
行m i n i c o m程序。然后把“C o n f i g u r a t i o n”(配置)菜单中“Serial port”(串
行口)设置项目下的“ Serial device”(串行设备)的名字修改为与调制解调
器使用的串行口完全一致的设备名,比如说/ d e v / t t y S 1,千万要确定这个
名称不是一个类似于/ d e v / m o d e m那样的符号链接。
9.3 发送和接收传真
如果调制解调器支持传真协议,就可以使用O p e n L i n u x 来发送或者接收传真。在
150使用第三部分与外部世界连接
下载
O p e n L i n u x中发送和接收传真需要对接收到的文件和想发送的文件进行图形格式转换。本书所
附的C D - R O M光盘上的O p e n L i n u x操作系统发行版本中包括了e f a x系列传真软件及其文档。在
准备继续学习之前请把调制解调器的有关文档准备在手边,并仔细阅读子目录/ u s r / d o c / e f a x中
e f a x命令的使用手册页和有关文档。
9.3.1 使用efax系列软件进行传真
由Ed Casas编写的e f a x系列软件是一个简单而且易于使用的传真软件包,根据这个系列软
件的文档,它最适合单用户及独立的L i n u x系统使用。这个软件由一系列程序和命令脚本程序
组成,适用于支持I类和I I类传真的调制解调器。
这个系统由下列程序组成:
• /usr/bin/efax—传真程序
• / u s r / b i n / e f i x— 一个图形转换程序,用来把文本文件转换为传真格式或者把文件转换为
其他的图形格式
• / u s r / b i n / f a x — 一个s h e l l命令脚本程序,用来生成、发送、接收、显示和打印传真文

如果想观看或者传真Post Script类型的图像文件,还需要在系统中安装Post Script解释器
程序g s及配合使用的图像观察器程序g v。在观看收到的传真的时候,可以使用X 11客户程序
x v(请阅读第1 6学时教程“图形工具程序”)。
配置传真功能需要对命令脚本程序/ u s r / b i n / f a x进行编辑修改。但是在
对这个命令脚本程序进行编辑修改之前,最好先制作一份这个文件的拷
贝。如果出了错或误删了这个文件,就需要用备份文件来重新安装e f a x软
件。
在开始接收发送传真之前,请先阅读一下/ u s r / b i n / f a x s h e l l命令脚本程序。这个程序就象是
使用e f a x进行发送或者接收传真服务的服务台一样,但是这里需要先检查这个文件中的几个
位置,确认这个命令脚本程序中的配置没有错误。举例来说,这个命令脚本程序的第一个部
分列出了e f a x系列程序的文件名:
FAX = /usr/bin/fax
E FAX = /usr/bin/efax
EFIX = /usr/bin/efix
这一般不会有什么问题,因为这些程序在安装这个软件的时候就都已经安装到了它们正
确的位置。这个命令脚本程序的下一个部分列出了调制解调器:
DEV = modem
如果已经建立了符号链接就可以直接使用m o d e m这个单词。但是如果已经设置L i n u x
操作系统响应电话拨号接入登录功能,就必须使用这个设备的真实名称(如果还使用我们
前面介绍的例子,就比如是t t y S 0)。下一个需要检查的部分是调制解调器所支持的传真类
型:
# CLASS = 1
CLASS = 2
# CLASS = 2.0
第9学时使用通讯程序用用151 下载
在调制解调器不支持的传真类型那一行语句的开头加上井字号( #)把这一句改为注释句;
把你的调制解调器支持的传真类型那一行语句前面的井字号( #)去掉, 但是要注意只能保留一
个C L A S S语句前面不带注释符号( #)。比如说,如果调制解调器只支持低级的I类传真,需要把
这些语句改为下面的样子:
CLASS = 1
# CLASS = 2
# CLASS = 2.0
在这之后,就可以为你的传真服务加上你的电话号码:
# Use only digits, space, and the "+" c h a r a c t e r.
FROM = "0 000 000 0000"
# Your name as it should appear on the page header.
NAME = "Your Name Here"
把你的电话号码输入到F R O M那一行,如“1 202 555 1212”,在N A M E那一行输入你的姓
名如“Eric Goldfarb”。最后,设定传真使用的纸张的缺省尺寸,如下所示:
PAGE = letter
# PAGE = legal
# PAGE = a4
把不使用的纸张大小那行语句的开头加上井字号( #)改为注释句;把使用的纸张大小那行
语句前面的井字号( #)去掉, 但是注意上面的语句中只能保留一个语句前面不带注释符号( #)。
当完成这些设置以后,就可以使用f a x命令和它的命令行参数t e s t来测试配置与调制解调器了,
如下所示:
这个命令将使你得到一份三页长的关于你所做的配置和你的调制解调器对f a x命令脚本程
序响应情况的报告。如果想在闲暇的时候看看这份报告,可以把它重定向到一个文本文件去,
如下所示:
# fax test > faxtest.txt
可以从中查看到是否有出错信息或者有无因缺少了软件程序而产生的问题。如果一切正
常,你可以使用f a x命令试试传真一份文件了:
# fax send -l 8207442 faxtest.txt
上面的命令中的- l参数告诉f a x程序发送一份低分辨率即每英寸9 8线的传真,使用的是刚
才生成的f a x t e s t . t x t文件。如果想发送一份高分辨率即每英寸1 9 6线的传真,就不需要使用任何
参数,如下所示:
152使用第三部分与外部世界连接
下载
正如所看到的,f a x命令脚本程序从文件的扩展名上自动识别出这个文件是一个文本文件。
也可以使用f a x命令脚本程序发送一份P o s t S c r i p t图像文件。如果想试试发送这样的一份文件,
可以使用下面的命令:
# fax send 8207442 /usr/share/ghostscript/4.03/examples/tiger. p s
f a x命令脚本程序会把P o s t S c r i p t图形文件转换为传真格式,然后再把它发送到远端的传真
机去(黑白图像,没有颜色)。
如果想把计算机设置成自动等待接收传真的状态,可以使用f a x命令脚本程序和命令行参
数w a i t,如下所示:
# fax wait
running /usr/bin/fax answer
/usr/bin/efax : Tue Dec 29 22:38:02 1998 efax v 0.8a Copyright 1996 Ed Casas
也可以使用后台操作符把这个s h e l l命令脚本程序放到后台去。可以使用命令行参数s t a t u s
来检查L i n u x传真机的状态,如下所示:
上面显示e f a x命令正在/ d e v / m o d e m串行口上等待是否有传真进来。如果想检查是否已经
有收到过任何传真,可以使用f a x命令的命令行参数q u e u e,如下所示:
# fax queue
fax files in /var/spool/fax
-rw-r--r-- 1 root root 18449 Dec 29 21:51 1229215055.001
-rw-r--r-- 1 root root 15001 Dec 29 21:54 1229215350.001
-rw-r--r-- 1 root root 16229 Dec 29 21:54 1229215350.002
上面的输出表明已经收到了两份传真。第一份传真有一页,是在晚上9 : 5 1分收到的。另
外一份两页的传真比前一个传真晚三分钟。这些传真保存在子目录/ v a r / s p o o l / f a x中(这个子目
第9学时使用通讯程序用用153 下载
录在第一次使用f a x命令和命令行参数w a i t的时候会自动建立)。每一页传真都保存在一个分立
的文件中,而同一份传真的不同的页有着相同的文件名和相同的日期和时间,后面跟着页码
做为文件名后缀。
如果想阅读某份传真,可以使用f a x命令的命令行参数v i e w。比如说,我们来看看那份一
页的传真,如图9 - 8所示。输入f a x命令,后面跟上v i e w参数,再输入传真的文件名,如下所
示:
# fax view 1229215350.001
/var/ spool/ fax/ 1229215055.001
1229215055.001 ...
如果想看到一份传真的所有的页,需要在多页传真文件名的前半部分后面使用一个通配
符星号( *)。我们以前面那个两页的传真为例说明一下。输入下面的命令行内容:
# fax view 1229215350.*
f a x程序会使用你在f a x命令脚本程序中指定的图形观察器程序循环显示这个传真的每一
页。你可以使用X 11的x v客户程序来打印传真,也可以试试使用f a x命令和命令行参数p r i n t来
打印传真,如下所示:
# fax print 1229215350.001
/var/ spool/ fax/ 1229215055.001
1229215055.001 ...
上面的命令打印出了收到的传真的第一页。可以使用下面的命令打印出一个多页传真的
所有的页:
# fax print 1229215350.*
如果想删除一份传真,可以使用r m命令,如下所示:
# rm /var/ spool/ fax/ 1229215350.*
如果愿意,也可以试试f a x命令的r m命令行参数。但是,这样做有删
除当前子目录中所有文件的危险,特别是当使用了看起来很简单的星号
( * )做为文件名的时候更是如此。使用这个命令行参数的时候必须明确地
指明某份传真的文件名。
154使用第三部分与外部世界连接
下载
图9-8 f a x 命令自动运行
X 11的x v图形程序来
观察或打印你收到的
传真
e f a x系列程序是在L i n u x操作系统中发送和接收传真的一个简单实用的方法。与已经编入
使用手册页中的内容相比, f a x命令脚本程序还有更多的操作命令,包括支持语音调制解调器
和制作传真封面等等。详细资料可以阅读f a x命令脚本程序本身。
9.3.2 使用ksendfax客户程序发送传真
如果使用的是K Desktop Environment桌面环境,就可以使用k s e n d f a x来快速选择一份传真
并把它发送出去。虽然这个程序并没有包括在O p e n L i n u x光盘上的K D E发行版本之中,但是可
以从站点h t t p : / / w w w. k d e . o rg上下载一份它的拷贝。沿着网路链接到达A p p l i c a t i o n(应用程序)部
分,下载文件k s e n d f a x - 0 . 3 . 1 . t a r. g z。建立和安装k s e n d f a x是相当容易的。首先以根操作员的身
份登录进入系统并使用t a r命令解压缩下载得到的文件,如下所示:
# tar xvzf ksendfax-0.3.1.tar. g z
接着进入到子目录k s e n d f a x,使用c o n f i g u r e和m a k e命令建立和安装这个软件包,如下所
示:
# configure ; make install
k s e n d f a x客户程序就安装好了。如果以根操作员的身份登录进入系统的,单击的桌面控制
条上的“Application Starter”(应用程序启动器)按钮,选择“ G r a p h i c s”(图像)菜单,再单击
其中的“K s e n d F a x”菜单项就可以启动k s e n d f a x运行了。但是,如果不是以根操作员的身份
登录进入系统的,可以从某个k v t终端窗口中的命令行来启动这个程序运行。如下所示:
# su -c ksendfax
就会出现主对话框。在“ File Name”(文件名)栏中输入想发送的传真文件的名字,或者
也可以单击“ B r o w s e”(浏览)按钮去选择某个文件。然后,在“ Fax no .”(传真号码)栏中输
入对方传真机的号码。如图9 - 9所示。
如果想配置k s e n d f a x使用喜欢的传真程序,比如e f a x,需要单击“ O p t i o n”(选项)菜单中
的“P r e f e r e n c e”(个人偏好)菜单项。然后输入k s e n d f a x用来发送传真所需要使用的命令字符
串(如图9 - 1 0所示)。举例来说,如果想在k s e n d f a x中使用f a x命令脚本程序,输入以下的内容:
/usr/bin/fax send ';@ @ P h o n e'; ';@ @ F N a m e';
当完成之后,单击“ O K”(完成)按钮。如果想发送一份传真,按下C t r l + S组合键,单击
“Send Fax”(发送传真)按钮,或者单击“ F i l e”(文件)菜单中的“ Send Fax”(发送传真)菜单
项。
第9学时使用通讯程序用用155 下载
图9-9 使用k s e n d f a x客户
程序是一个发送传真
的简便方法
如果想了解在k s e n d f a x中如何使用O p e n L i n u x操作系统中其他的传真
程序,请单击k s e n d f a x的“H e l p”(帮助)菜单中的“H e l p”(帮助)菜单项。
其中至少有让k s e n d f a x客户程序与其他三种不同的传真软件包一起工作的
方法与技巧。
9.3.3 使用mgetty+sendfax发送传真
m g e t t y + s e n d f a x是一个组合软件,它使用的m g e t t y命令和我们在前面介绍的在系统初始化
表/ e t c / i n i t t a b文件中安装的u u g e t t y的例子差不多;而s e n d f a x程序就是用来发送传真的了。这
个软件的安装和配置过程比起对e f a x的设置来要稍微复杂一些。本小节将介绍如何安装、配
置和使用这个软件通过调制解调器发送和接收传真文件。
这个软件组合包括许多文件(多得没法在这里列出来)。本小节的例子将集中那些比较重要
的文件上面。我们先来教你如何配置s e n d f a x软件并迅速发送一份传真。第一步先要以根操作
员身份登录进入系统。然后需要再切换到位于子目录/ e t c下的子目录m g e t t y + s e n d f a x中去。你
会在那里看到许许多多的文件,包括下面列出的:
# ls -A
d i a l i n . c o n f i g f a x . d e n y f a x r u n q . c o n f i g m g e t t y. c o n f i g v o i c e . c o n f
f a x . a l l o w f a x h e a d r e l o g i n . c o n f i g s e n d f a x . c o n f i g
第一步工作是检查f a x . a l l o w和f a x . d e n y文件是否存在,如果不存在就需要先建立它们。在
f a x . a l l o w文件中,输入那些你允许使用传真服务的用户的用户名,最少输入两个用户名:根
用户和你的用户名。
接着,编辑f a x h e a d e r文件,在传真示范标题行上输入你的姓名和电话,如下所示:
FAX FROM : John H. Doe 1 202 555 1212 TO : @T@ PAGE : @P@ OF @M@
在修改s e n d f a x的配置文件的时候,最好在其中原来内容的开头加上
注释符号把它们#变成注释语句,然后在新的一行和把所做的改动插入进
去。这样做的好处是当你出错并需要返回这些文件最初状态的时候可以
减少麻烦。
156使用第三部分与外部世界连接
下载
图9-10 如果想在k s e n d f a x中
使用喜欢的传真程序
必须在“P r e f e r e n c e”
(个人偏好)对话框中输
入一个命令字符串
示范标题行上的内容将会出现在对方传真机收到的你的传真的每一页的顶部。接下来需
要编辑修改s e n d f a x . c o n f i g文件,找到传真设备那一小节,并把其中的设备名改为你的调制解
调器所连接到的(比如对C O M 2来说就是/ d e v / t t y S 1)设备名,如下所示:
# which devices to use for outgoing faxes
# fax-devices tty4c : tty4d
fax-devices t t y S 1
上面的命令告诉s e n d f a x程序你的调制解调器连接到了/ d e v / t t y S 1。接着,输入你自己的传
真号码,这个号码会被送到对方的传真机上,如下所示:
# which fax number to transmit to the receiving station
# fax-id 49 89 xxxxxxxx
fax-id 1 317 123-1234
这使得对方的传真机可以确认你的传真机。还需要输入发送传真的时候你所使用的拨号
方式,如下所示:
# which command is used to dial out ? ( Could be ATD , ATDP , AT X 3 D 0 W. . . )
# dial-prefix AT D
dial-prefix AT D T
上面的内容告诉s e n d f a x软件你将使用音频对外拨号。保存这个文件,并退出文本编辑器
程序。到了这一步,你就差不多可以开始发送传真了。
如果想使用s e n d f a x程序发送一份单页的传真,必须先把那个文本文件转换成传真机使用
的Group 3传真格式。可以使用子目录/ u s r / b i n中的图形转换程序p b m t e x t与p b m 2 g 3程序一起使
用来进行格式转换,如下所示:
# cat myfile.txt |
| pbmtext |
| pbm2g3 > myfile.g3
上面的命令把m y f i l e . t x t文件通过管道送入p b m t e x t命令;p b m t e x t命令以便携位图图形格式
输出一个图形到p b m 2 g 3命令; p b m 2 g 3命令再把经管道流入的字符数据流转换成传真图形格
式。所有这些完成后,就可以使用下面的命令发送该文件了(假定你是根操作员):
# usr/sbin/sendfax -v -l ttyS1 -C cls2 -r 5551212 myfile.g3
trying fax device ';dev/ttys1 '; . . . OK .
Dialing 5551212 . . . OK .
sending ';myfile.g3 ';. . .
上面的命令运行了s e n d f a x程序。其中的命令行参数- v告诉s e n d f a x程序在传真操作过程中
随时报告执行的情况。我使用- l参数指定了t t y S 1串行口,再使用命令行参数C cls2指定通过
I I类传真调制解调器发送传真。电话号码5 5 5 1 2 1 2是用r参数指定的,而m y f i l e . g 3文件就是刚才
使用管道命令生成的文件。
与e f a x不同,s e n d f a x命令只支持I I类传真调制解调器。如果你有一个
I类传真调制解调器,请使用f a x命令脚本程序。
也可以设置L i n u x操作系统使用m g e t t y程序自动接收别人发来的传真。与u u g e t t y程序的用
法极为相似, m g e t t y程序也要求对子目录/ e t c / m g e t t y + s e n d f a x中它自己的配置文件做至少一处
改动。你(做为根操作员)可以改动的是编辑修改m g e t t y. c o n f i g文件中的电话号码数据项,如下
所示:
# set the local fax station id
# fax-id 49 89 xxxxxxxx
fax-id 1 317 123 1234
第9学时使用通讯程序用用157 下载
上面的内容设置了本地传真机的电话号码。修改完成之后,参考前面例子中的介绍编辑
修改系统初始化表/ e t c / i n i t t a b文件,使用m g e t t y程序监听调制解调器所在的串行口,如下所
示:
3 : 2345 : respawn:/usr/sbin/mgetty -s 38400 ttyS1
前面已经提到,对/etc/ inittab文件的任何修改都潜在有一定的危险性。
一定要准备一张后备启动盘并事先制作一份这个文件的拷贝。
完成以上改动之后,保存这个文件并重新启动计算机。现在,不仅可以接收传真,还可
以从外线拨号进入系统并运行L i n u x程序。如果想查看是否收到了传真,查看一下子目录
/ v a r / s p o o l / f a x / i n c o m i n g就明白了。如下所示:
# ls -A /var/spool/fax/incoming
fn4878f9aS1- _IBM-APTIVA- M61- _.01 fn4878f9aS1- _IBM-APTIVA- M61- _.02
上面的例子表示有一份两页传真等待你去阅读。先把它们转换为便携位图文件格式,就
可以阅读这些传真了,如下所示:
# cat /var/spool/fax/ incoming/ *.01 |
| g32pbm > faxpage1.pbm
在把传真转换成便携位图文件格式之后,就可以使用X 11的x v客户程序或X 11的I m a g e
M a g i c图形显示程序来观察或者打印它们了。
正如所看到的,如果想在O p e n L i n u x操作系统中对文件进行传真,可以有好几种软件供你
选择。s e n d f a x程序还有许多其他的参数。如果希望了解详细的资料,可以阅读这个程序包的
使用手册页和子目录/ u s r / d o c / m g e t t y + s e n d f a x中的有关文档。
9.4 课时小结
本学时教程介绍了如何配置O p e n L i n u x系统与计算机上连接的调制解调器一起工作。还学
习到如何设置O p e n L i n u x操作系统应答电话拨入以及如何发送与接收传真。
9.5 专家答疑
问:我想了解更多关于调制解调器和传真的资料。从什么地方入手?
答: 首先,请阅读关于e f a x命令和m g e t t y + s e n d f a x软件包的相关文档去学习更多的在
O p e n L i n u x操作系统使用这两个程序的知识。如果想阅读一份比较好的不涉及某种具体操作系
统的使用调制解调器与调制解调器软件的全面的资料,请到下面的站点阅读由Peter Chen编写
的“关于调制解调器你需要知道些什么”的文章:
h t t p:// www.vix.com/ flexfax/ Modems-PeterChen.
问:我的调制解调器在进行连接的时候会发出的刺耳的尖啸声,我想关掉这个声音,应
该怎样去做?
答:应该阅读你的调制解调器有关文档中的技术指标说明,但是在一般的情况下, AT M 0
命令可以关掉你的调制解调器。
问:我想听到调制解调器向外拨号和连接的声音,但是我并不想听到那么大的声音!
答:你可以使用AT M 1命令允许调制解调器发出声音,然后再试试AT L x命令,其中的x是
代表扬声器音量的从0(低)到3(高)的一个数字。这个功能并不是所有的调制解调器都支持的。
158使用第三部分与外部世界连接
下载
问:我的调制解调器有时候会在我正在联机工作的时候掉线!
答:如果你的电话可以使用呼叫等待功能,那么一个拨入的电话就有可能打断你的调制
解调器的工作。可以试试在每个拨号字符串之前加上* 7 0(比如AT D T * 7 0)来禁止呼叫等待。
9.6 练习题
1. 试试拨号到本地的电子公告板服务( B B S)并使用s e y o n程序或者m i n i c o m程序进行连接。
2. 建立一个图形,并把它保存为P o s t S c r i p t格式,然后试着把它作为传真发送出去。请阅
读第1 6学时教程中的关于在O p e n L i n u x任务操作如何建立图形的更详细的资料。
第9学时使用通讯程序用用159 下载

返回列表 回复 发帖