存档

2010年9月 的存档

写给OpenFetion用户(相关说明和常用问题汇总)

九月 11th, {2010 86 条评论 26,208 人阅读过  

OpenFetion从去年发布第一个版本到现在已经正式更新了将近10次,首先感谢大家对OpenFetion的支持,最初开发这个软件的时候是因为在Linux下找不到用得舒服的飞信客户端软件,而且也想找点事情打发一下无聊的研究生时光,突发奇想就写了这么个小东西,第一个版本刚发布的时候错误百出,当时没有专门做过测试,只是在自己机器上用自己的账号跑起来没有问题,用了几天就发布了,结果是网友报各种各样的bug,这也是自由软件的好处,总会有很多热心的网友帮助你测试软件,也正是有了广大网友的支持我一直以来才会不断地维护更新着它。

关于OpenFetion的版权问题

OpenFetion是遵循GPL协议的共享软件,但一直惭愧的是本人不善美工,在早期版本里面用了很多飞信官方的小图标,直到最近这个问题才开始慢慢地解决,也正是因为图标问题我到现在才迟迟没有正式发布新版本,如果大家在使用Openfetion的时候遇到登录问题或者想试用一下新版本里面的功能,可以到svn上下载最新开发版本使用:

$svn checkout http://ofetion.googlecode.com/svn/trunk/ ofetion-read-only

而且我们推荐使用SVN上的版本更新您的软件,因为这样可以在新版本发布之前最快地体验到新版本中的功能,更及时地解决旧版本中存在的BUG。

关于OpenFetion的安装包的问题

之前的版本都是由我一人维护,deb和rpm的包我都不会打,而且一直用slackware这些机制的包都不支持,所以也就没有在软件发布的时候及时推出这些相关的安装包,googlecode上经常会有热心的用户提供打好的优秀的安装包,所以大家可以到google code上去找用户提交的相关的安装包和安装脚本,另外ubuntu中文论坛的happyaron长期以来一直负责OpenFetion的PPA制作,为广告用户提供了方便,在这里向他表示感谢,另外这里再说一下happyaron的PPA的使用方法:

10.04:deb http://ppa.launchpad.net/happyaron/ppa/ubuntu lucid main

9.10: deb http://ppa.launchpad.net/happyaron/ppa/ubuntu karmic main

9.04: deb http://ppa.launchpad.net/happyaron/ppa/ubuntu jaunty main

8.10: deb http://ppa.launchpad.net/happyaron/ppa/ubuntu intrepid main

8.04: deb http://ppa.launchpad.net/happyaron/ppa/ubuntu hardy main

使用方法是选择您的发行版版本号对应的代码拷贝到源列表中,比如Ubuntu 10.04,则将”deb http://ppa.launchpad.net/happyaron/ppa/ubuntu lucid main”拷由到/etc/apt/sources.lst中,然后先用下面的代码获取密钥:

$sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DDA4DB69

接下来在Console中输入:

$sudo apt-get update
$sudo apt-get install openfetion


如何卸载OpenFetion

需要注意的一个问题是,新版旧本的OpenFetion之间可能存在冲突,在安装新版本的时候如果和旧版本安装目录不一致则最好先把旧版本删除再安装,configure的默认安装prefix是/usr/local/,如果是使用PPA安装或者使用的安装脚本则很可能将prefix设成了/usr目录下,假设默认安装路径是/usr/local,那么需要删除二进制可执行文件和libofetion库文件,它们存放的目录是/usr/local/bin和/usr/local/lib目录下libofetion开头的库文件,当然我也提供了uninstall脚本。

下载地址:http://ofetion.googlecode.com/files/ofetion_uninstall.sh


关于OpenFetion的编译安装问题:

OpenFetion链接了几个共享库,分别是

libgtk2.0-dev(提供UI支持),
libssl-dev(提供加密安全支持),
libxml2-dev(提供xml创建解析支持),
libnotify-dev(提供gnome notification消息提示支持,可选),
libgstreamer0.10-dev(提供声音提示功能支持,可选)
intltool(提供国际化的支持)

注意:编译安装必须使用开发版本,后面不带dev的包是不行的(为了解决各种技术水平的用户的疑问,请允许我使用这种说法)。

这几个包在Ubuntu下我试着安装过,很简单,其它的发行版我手头实在找不到,大家可以自己想办法,肯定不难。
Ubuntu下的安装方法:

$apt-get install libxml2-dev
$sudo apt-get install libgtk2.0-dev
$sudo apt-get install libssl-dev
$sudo apt-get install libnotify-dev
$sudo apt-get install libgstreamer0.10-dev
$sudo apt-get install intltool

Fedora中的安装方法:

pkcon install gcc gstreamer-devel gtk2-devel libxml2-devel openssl-devel intltool

这些包都安装就绪之后就可以编译安装OpenFetion了,

$./configure --prefix=/usr
$make
$make install

或者

su -c "./configure=/usr && make && make install"

编译安装之前需要安装dev版本的共享库,其中libgtk2.0-dev可能会占几十M的空间,没有预安装这些库并且舍不得磁盘空间的用户就只有使用PPA安装或者到Google Code上找网友打好的安装包安装了。

关于如何调试OpenFetion

坦城的讲,OpenFetion现在仍然存在很多BUG,也仍然有用户报“段错误”,当然出现这些问题的时候我希望能得到您的帮助,如果能帮我高度一下程序给出断点的位置,无疑能让我更快地定位BUG,然后修复它们,其实调试的过程很简单,在终端中输入如下的命令:

levin@slack:~$ gdb openfetion
GNU gdb (GDB) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-slackware-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/openfetion...done.
(gdb) run
 
然后程序开始运行,当程序由于BUG运行停止后,再输入如下命令:
(gdb)back
然后把出现的断点信息发送给我就可以了,我会在最短的时间内修复。


关于OpenFetion其它的几点说明:

1.官方飞信支持同一个好友属于多个不同的分组。很惭愧,也很抱歉,我一直都不知道原来飞信支持这个功能,所以当时开发的时候就只按一个好友对应一个分组来开发的,这也导致了那些将一个好友同时放到不同的分组中的用户在登录之前出现段错误,这个BUG存在于当前1.8版本以及之前的所有版本中,在这里,对那些因为存在类似情况而不能使用OpenFetion的用户道歉,这是我协议分协过程中的失误,这个问题在最新的SVN版本中已经解决,happyaron的PPA中的最新版本的OpenFetion也解决了这个问题,但是我要强调的是OpenFeiton暂不支持同一个好友属于多个分组,为了解决这些用户的登录问题,我暂时将这些好友拿出来放到了未分组里面,很多网友最近过来报这个BUG,其实这还不算个BUG,只是我最近太忙,没时间再去找个windows分析飞信的分组相关的协议,大家可以先这样用一段时间,起码它已经能保证你能登录能正常使用了。

2.OpenFetion安装成功后却不能运行。这个问题是用户提问最多的问题,这个问题解决起来也很简单,表现是安装完成后出现下面的错误提示:

openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory

出现这种问题的原因我在之前的一篇日志里面简单地说了,参考:关于库文件的搜索路径问题

解决的方法也很简单:如果在安装的时候默认路径是/usr/local/或者其它自定义的非系统路径,那么lib就会被安装到相应的路径中去,这时候把你lib所在的路径添加到/etc/ld.so.conf中去,然后在终端中执行

$sudo ldconfig

3.近期移动推出web版飞信,OpenFetion将会何去何从。

其实我真挺希望移动官方可以推出一个用起来舒服方便的Linux版本客户端,而不是模仿腾讯做这种web的客户端,用起来确实很不方便,要是哪天移动推出了官方的Linux版本飞信,而且大家用起来也比OpenFetion这种第三方的客户端舒服,那OpenFetion就没有什么存在的必要了,我也就可以不用花时间去维护它了,最终目的还是使用方便,如果有好用的客户端干嘛还要花时间花精力去开发第三方的客户端,所以我从来没有想过把OpenFetion移植到windows上去,因为那里有官方飞信客户端,功能很完善,而且也比OpenFetion稳定的多。

我开发这个的初衷不是想拿它谋取利益,而且它确实给我带不来什么经济上的利益,虽然我blog上挂了几个谷歌的广告,但几乎没人点,等我从谷歌那里拿到那几百块钱的广告费的时候说不定我儿子都会开发软件了,有三位网友曾给予过我捐助,我的支付宝账户里面现在有40+RMB,钱虽然不多,但那是他们对我的鼓励和支持,想起来是很开心的,因为自己的成果得到了别人的认可,想公开对他们表示感谢,但因为在支付宝里面用的是真名,所以也不太方便公开网友的真实性名,就在这里谢过几位了。

其实开发OpenFetion最初的目的是为了自己给自己用,因为经常用飞信和女朋友聊天,用linux没有个好用的飞信怎么能行,另一个重要的原因也是为了杀时间,当然到了现在还在维护着它,是出于对用户的一种责任吧(哈,听起来很高尚的样子),因为已经有很多人在用它了,放着那些有能力解决的BUG不解决确实是对软件对用户的一种不负责任。

4.OpenFetion是否会支持文件传输功能。

目前来说暂时没有开发文件传输功能的打算,前一段时间分析过飞信文件传输相关的协议,发现实现起来不像我最初想象地那么简单,需要投入较多的时间,现在实验室项目赶得很紧,不像刚开始读研的时候时间总是那么充裕了,空余的时间只能够添加一些小功能,修改一些小bug,这个功能先暂时搁浅,还请大家见谅。


致谢(我觉得应该有这样一个环节)

这里是代表我和所有正在使用OpenFetion的用户向相关的人表示感谢。嗯,首先应该是我女朋友,刚到北京读研的时候她正在边工作边考研,自己一个人很辛苦,说起来也挺内疚的,那时候都不怎么给她发短信,打电话也说不了几分钟,因为那时候飞信刚刚推出现在最新版本的协议,那一个月我把所有的空余时间都拿出来重写OpenFetion了,她能理解我,我感到很欣慰也很感激,虽然一直以来她都对我的技术很不屑。

技术上要感谢的是:

Ubuntu中文论坛的happyaron,他不仅非常及时地更新PPA源,而且还在我的开发上给了很多的建议和意见,有时候也会给我反溃BUG。

wzssyqa 他完成了1.6和1.7版本的i18n,说实话在这之前我对i18n并不了解,有了他的模板我才让现在的版本支持了简体中文和英语两种语言。

liu.dongyuan 他解决了输入法不能输入英文的问题,并做了大量UI方面的改进特别是美工方面都做了很多工作。

xuhdev 他刚刚加入开发小组不久,改进了很多UI上英文的翻译错误(我为我的英语感到可耻)。

对OpenFetion做出贡献的人还有很多,不一一列举了,希望更多的人加到OpenFetion的开发行列上来,人多力量大,这样OpenFetion才能越做越好,为各位热衷开源的朋友提供方便。

加入开发小组或者技术交流

有意向加入开发小组的朋友可以在这里留言,或者邮件给我levin108(AT)gmail.com,或者加我GTalk,或者去推特上给我留言:@levin108,强烈欢迎各位热心网友的加入。

当然有什么问题或者技术交流都可以通过上面的方法联系我,但请不要索要我的QQ号,因为我一个月也就上个一两次,每次持续不了多长时间。

分类: Linux 标签: