最初是发在ChinaUnix的blog上,这里同步过来。
最初地址:http://blog.chinaunix.net/space.php?uid=25587715&do=blog&id=247591
至于飞鸽传书就用不着我来介绍了。相信大多数用 Windows 的朋友都不陌生!
下面介绍一下,在 linux 上怎么安装和使用飞鸽传书。
linux 下的飞鸽传书叫 ipmsg ,后来又有了 gipmsg , g2ipmsg 。 g , g2 是 GNOME 桌面和 GNOME2 桌面的缩写。
为确保后面安装顺利,请以 root 用户登录来操作!!
1、 下载软件安装包
在 ipmsg 的官方网站可以获取源码: http://www.ipmsg.org/index.html.en
下载 UNIX 栏下的“ GNOME2 IP Messenger by T.Kato (2008/10/27) ”即可。
2、 编辑安装包
下载到本地的某个目录(比如:放在 /work 下)。
解压:
linux-nczg:/work # tar -zxvf g2ipmsg-0.9.6.tar.gz
解压完后会在当前目录下生成一个文件夹 g2ipmsg-0.9.6
解压后需要修改源码以支持中文,需要修改的
文件: src/codeset.c
网上推荐的方法:
{
原文: #define IPMSG_PROTO_CODE "CP932"
改成: #define IPMSG_PROTO_CODE "GBK"
}
但是,在下载的这个版本的源码中并没有这样的宏定义。怎么办呢?
直接在文件开头增加宏定义即可。
#define IPMSG_PROTO_CODE "GBK"
3、 安装
#cd g2ipmsg-0.9.6
linux-nczg:/work/g2ipmsg-0.9.6 # ./configure --enable-systray
linux-nczg:/work/g2ipmsg-0.9.6 # make
linux-nczg:/work/g2ipmsg-0.9.6 # make install
OK!
执行 ./configure 是为了方便在任务栏运行,加编译参数: --enable-systray
安装完成后,“ GNOME2 飞鸽”出现在 应用程序- > 实用工具 中, 如果用的是 Ubuntu 话,网上说是出现在 应用程序- > 附件 中。
运行 g2ipmsg 就可以了。运行效果如下图。
如果碰到“ GNOME2 飞鸽”没有出现在应用程序菜单中怎么办呢?
按如下的方法设置一下即可。
通过左下角的 计算机》应用程序》更多应用程序 打开应用程序浏览器,然后在应用程序浏览器里面找到“主菜单”工具,单击打开。然后,单击“新建项目”,设置好名称、路径和自己喜欢的图标就可以了,有必要也可以添加一些注释信息。
路径的话,像我的系统,位于 /usr/local/bin/ 下。
linux-nczg:/work # ls /usr/local/bin/
g2ipmsg g2ipmsg_applet
linux-nczg:/work #
也可以像 Windows 下执行 run 命令一样来启动飞鸽传书。方法是:
Alt+F2 调出 run 窗口,输入“ g2ipmsg ”,再运行。
4、 可能碰到的问题及解决办法
说起来很简单,但是初次安装的时候往往会碰到比较多的问题。我用的是 openSUSE-11.2 , kernel 是:
linux-nczg:/work # uname -r
2.6.31.5-0.1-deskt
在此环境下安装,碰到的问题:
(1) 执行 configure --enable-systray 的时候报错。
。。。。。。
checking for G2IPMSG... configure: error: Package requirements (libgnomeui-2.0 >= 2.14
gtk+-2.0 >= 2.4
glib-2.0 >= 2.8) were not met
。。。。。。
出错原因:有些依赖的包没有安装,安装即可。
安装方法:打开软件管理器 YaST (左下角 计算机》安装软件),搜索 libgnomeui-devel ,找到后 install 之。
(2) 再执行 configure --enable-systray 又报错
。。。。。。。
No package 'libpanelapplet-2.0' found
。。。。。。。
和问题( 1 )一样的解决办法。不过,这次,在 yast 里面搜索不到 libpanelapplet 了。怎么办呢?
其实只用安装包 gnome-panel-devel 就可以了。
在 yast 下搜索并安装之。
再执行 configure --enable-systray ,就不报错了。如果还有提示什么依赖的软件包找不到,和前面一样在 yast 里面搜到到后安装之,然后再执行 configure --enable-systray ,直到不提示错误为止。
接着,按上面的安装步骤依次执行 make 、 make install 就安装完成了。
如果不放心,安装完成后可以再来一次检查。(可选)
linux-nczg:/work/g2ipmsg-0.9.6 # make
linux-nczg:/work/g2ipmsg-0.9.6 # make install
如果有提示 No package ,则安装有问题,可以卸掉后,重新安装。卸载命令:
linux-nczg:/work/g2ipmsg-0.9.6 # make uninstall
(3) 启动飞鸽后,用户数为 0 ,用户列表里一个用户都没有
问题原因:防火墙惹的祸。 openSUSE 的防火墙是默认开启的,并禁止了所有外来连接。如果是 Ubuntu 用户则不存在这个问题, Ubuntu 的防火墙默认情况下是关闭的。
解决办法:为飞鸽开放相应的端口。飞鸽用的默认端口是 TCP/UDP 2425 。
开启方法有两种:
a. 通过命令。
linux-nczg:/work/g2ipmsg-0.9.6 #vi /etc/sysconfig/SuSEfirewall2
将下面两行
FW_SERVICES_EXT_TCP=""
FW_SERVICES_EXT_UDP=""
修改为:
FW_SERVICES_EXT_TCP="2425 ftp"
FW_SERVICES_EXT_UDP="2425 ftp"
保存退出。
通过如下命令可以查看修改是否成功。
linux-nczg:/work/g2ipmsg-0.9.6 # cat /etc/sysconfig/SuSEfirewall2 | grep FW_SERVICES_EXT_TCP
FW_SERVICES_EXT_TCP="2425 ftp"
# see comments for FW_SERVICES_EXT_TCP
# see comments for FW_SERVICES_EXT_TCP
# Note1: keep in mind that FW_SERVICES_EXT_TCP, FW_SERVICES_EXT_UDP
linux-nczg:/work/g2ipmsg-0.9.6 # cat /etc/sysconfig/SuSEfirewall2 | grep FW_SERVICES_EXT_UDP
FW_SERVICES_EXT_UDP="2425 ftp"
# see comments for FW_SERVICES_EXT_UDP
# see comments for FW_SERVICES_EXT_UDP
# Note1: keep in mind that FW_SERVICES_EXT_TCP, FW_SERVICES_EXT_UDP
# FW_SERVICES_EXT_UDP="isakmp"
重启防火墙
linux-nczg:/work/g2ipmsg-0.9.6 # rcSuSEfirewall2 restart
b. 通过 GNOME2 图形界面来设置,和操作 Windows 一样。
方法:左下角 计算机》 YaST 》防火墙,如图。
打开防火墙后,选择允许的服务,选择“外部区域”
然后进“高级”,在 TCP 断开号处,填“ 2425 tfp ”, UDP 端口号处,填“ 2425 tfp ”(分号内的内容哈!格式是“端口号 端口名称”,中间空格分隔。) 然后确定,点击下一步。会弹出一个配置汇总的窗口,点击完成就可以了。如图。
退出飞鸽,重新启动一下,刷新一下用户,这次用户数不再是 0 了吧! O( ∩ _ ∩ )O 哈哈 ~
注:设置完后,同样可以用( 3 )步中的命令,查看设置有没有成功。
(4) 配置 IP :
如果 Linux 系统已经有局域网的 ip 就不用设置了。如果系统装在虚拟机里面则需要配置一下, Vmware 配置成自动桥接的方式。如图:
然后设置 linux 的 ip 。
linux-nczg:/work/g2ipmsg-0.9.6 # ifconfig eth0 down
linux-nczg:/work/g2ipmsg-0.9.6 # ifconfig eth0 10.94.20.227 netmask 255.255.0.0
linux-nczg:/work/g2ipmsg-0.9.6 # route add default gw 10.94.1.254
linux-nczg:/work/g2ipmsg-0.9.6 # echo "nameserver x.x.x.x">> /etc/resolv.conf
linux-nczg:/work/g2ipmsg-0.9.6 # ifconfig eth0 up
ifconfig 一下,可以查看一下设置的 ip 是否正确。
linux-nczg:/work/g2ipmsg-0.9.6 #ifconfig
。。。。。。
如果你的飞鸽传书仅仅是用于 host 和 guest 机之间互相传文件的话, Vmware 不用设置成自动桥接的方式,设置成 NAT 就可以了。( host 和 guest 机之间共享文件强烈推荐使用 Vmware 的共享文件夹!)
(5) 设置编码
在点击刷新飞鸽用户的时候,可能会报 N 多错误:
*********************************************
文件名 :userdb.c
函数 :fill_user_info_with_message
行 :272
无法转换消息到外部编码 : x.x.x.x
*********************************************
如图:
如下图,默认的是“ CP932 ”,重新选择” CP936 “,然后确定,重新刷新用户列表就不会再报上面的错误。而且,用户名列表里的中文用户名也不会再乱码。
参考阅读:
ipmsg on openSUSE 11.1
http://trydofor.iteye.com/blog/315955
http://www.cnblogs.com/xd502djj/archive/2011/03/01/1967800.html
linux(F8) 中飞鸽 (g2ipmsg) 的安装及相关问题的解决
http://apps.hi.baidu.com/share/detail/19037828
在 linux 下用飞秋
http://hi.baidu.com/qicaiqinxian/blog/item/08a1b5c398c4035eb219a8fd.html