LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3653|回复: 1

linux下用efax-gtk收发传真

[复制链接]
发表于 2004-6-8 21:52:46 | 显示全部楼层 |阅读模式
一些经验分享一下

===========
**设置modem**
===========

命令lspci -v显示我的IBM T20的modem是:
[PHP]
00:03.1 Serial controller: Xircom Mini-PCI V.90 56k Modem (prog-if 02 [16550])
        Subsystem: Intel Corp.: Unknown device 2408
        Flags: medium devsel, IRQ 11
        I/O ports at 1840
        Memory at e8121000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [dc] Power Management version 2
[/PHP]

鉴于我的内核为2.6.6,我从 http://linmodems.technion.ac.il/ ... em-2.6-alk-2.tar.gz 下载了驱动到当前工作目录。

然后开始编译安装modem驱动,开始之前确保/usr/src/linux里有2.6.6的内核原代码
[PHP]
# tar xvzf ltmodem-2.6-alk-2.tar.gz
# cd ltmodem-2.6-alk-2
# make
[/PHP]
编译完毕后,在ltmodem-2.6-alk-2目录下会出现刚编译好的ltmodem.ko和ltserial.ko两个驱动模块。

之后把模块拷贝到内核模块的路径
[PHP]
# mkdir /lib/modules/2.6.6/other
# cp ltmodem.ko ltserial.ko /lib/modules/2.6.6/other/
# depmod -a
[/PHP]
编辑/etc/modprobe.conf,加入以下几行,以便内核自动加载modem的驱动模块。
[PHP]
alias /dev/modem ltserial
alias char-major-62 ltserial
alias /dev/tts/LT0 ltserial
[/PHP]
接着创建modem设备:
[PHP]
# mknod --mode=0660 /dev/ttyLT0 c 62 64
[/PHP]
为了让普通用户也可以使用modem,需要改变modem的群组属性。

例如我要让用户abc有权限使用modem,用以下命令建立新群组dialout,并把abc加入此群组:
[PHP]
# echo dialout::102:abc >> /etc/group
[/PHP]
其他用户的加入以此类推

然后改变/dev/ttySLT0的群组属性:
[PHP]
# chgrp dailout  /dev/ttyLT0
[/PHP]
新建指向/de/ttyLT0的虚链接/dev/modem:
[PHP]
# ln -s /dev/ttyLT0 /dev/modem
[/PHP]
以上是我的机子的具体情况,可能由于modem型号不同,你的情况有所不一样。

到此modem的驱动按照好了,你可以重启系统来加载模块,也可以以root的身份手动加载驱动模块(modprobe ltserial&&modprobe ltmodem),这样就不用重启系统了。

=========
**安装efax**
=========

由于我的modem是class 2的规格,所以在linux下,我只能选用efax。而且efax有个还不错的ui,那就是efax-gtk。efax-gtk是个完整的fax程序,即它本身自带了efax程序,但根据efax-gtk网站介绍,其自带的efax是个性化过的,对某些语言编码最带来乱码现象,所以我还是用回原版的efax。

http://www.cce.com/efax/download/efax-0.9a-001114.tar.gz 下载源代码(若你用的是linmodem,必须用这个版本),然后编译安装:
[PHP]
# tar xvzf efax-0.9a-001114.tar.gz
# cd efax-0.9a-001114
# ./configure
# make
#make install
[/PHP]

============
**安装efax-gtk**
============

为了编译和运行efax-gtk-2.*, 你必须先安装gtkmm-2.*和libsigc++。(当然,安装gtkmm-2又要求你已经安装了glib-2, gtk+2, pango, atk, gettext以及pkgconfig。gnome 2里都带了这些包,不知对非gnome用户来讲是不是很不方便) )

首先安装libsigc++

下载原代码:

http://easynews.dl.sourceforge.n ... sigc++-1.2.5.tar.gz

编译安装:
[PHP]
# ./configure
# make
# make install
[/PHP]
libsigc++安装完毕


然后安装gtkmm

下载源代码:

http://umn.dl.sourceforge.net/so ... gtkmm-2.2.10.tar.gz

编译安装:
[PHP]
#./configure
# make
# make install
[/PHP]
gtkmm安装完毕


接着安装efax-gtk

下载源代码:
http://easynews.dl.sourceforge.n ... -gtk-2.2.7a.src.tgz

编译安装
[PHP]
#./configure
# make
# make install
[/PHP]
efax-gtk安装完毕,但是现在有个问题,efax-gtk用的efax是个性化过的,如上面所述,会带来乱码问题,特别是中文。为了让efax-gtk用原装的efax来收发传真,我们可以通过下面建立链接的方法来修正:
[PHP]
# cd /usr/bin
# ln -sf efax efax-0.9a
# ln -sf efix efix-0.9a
[/PHP]
这样efax-gtk就安装完毕了

============
**配置efax-gtk**
============

可以根据efax-gtk的帮助文件,快速设置好你的ID,传真号码等,其他操作也可以在帮助文件中找到答案。

===================
**用efax-gtk发传真的方法**
===================

1. 最简单的方法就是把文件在相应的应用程序里打印成ps文件,然后在efax-gtk里以输入文件的方式导入文件,填上对方传真号码发送。

2. 现在我来介绍一种以socket的方式发送传真,例如你在任何支持打印的程序中都可以通过打印的方式把文件直接传送到efax-gtk来发传真,这种方法大大简单了发送传真的过程。

首先必须确认你的系统是用cups打印系统的,lprng打印方式不能支持。

我们要通过cups来建立一个虚拟的打印机“efax”。假设你的电脑的IP地址为:192.168.1.2, 而且端口4010空闲。那么以以下的方式建立打印机“efax”:
[PHP]
# lpadmin -p efax -E -v socket://192.168.1.1:4010 -m laserjet
[/PHP]
这样打印机"efax"就建立成功了,为了让efax-gtk能接受从打印机“efax”传来的文件,要把efax-gtk的文件输入方式选为“socket”方式。然后在efax-gtk里的File->Settings->Socket里,把Run socket server 打勾,把Popup dialog when fax received from socket打勾,把Port to which faxed to be sent相应地设为4010,Addresses allowed to connect设为localhost。

测试socket方式发传真

在任意一程序里,例如gedit里输入文字,然后打印到打印机“efax”,看看efax-gtk是不是接着弹出一个对话框让你输入对方传真号码... ...

最爽的是,局域网里面其他windows系统还可以共享linux系统下的efax来发传真。设置好samba,然后在windows端安装adobe的ghostscript printer的驱动程序,把打印机路径设置成efax的路径即可。


关于收传真,我就不多说了,efax-gtk里的帮助文件很详细的。
发表于 2008-1-2 11:12:55 | 显示全部楼层
windows客户端的拨号是怎么实现的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表