红联Linux门户
Linux帮助

Linux下使用QQ解决方案的选择

发布时间:2008-07-03 10:10:19来源:红联作者:Whikla
  原作:fbi_sui
  地址:blog.sina.com.cn/fbi2006

  上次说到本F搞定了linux下的QQ,其实在linux下使用QQ至少有五种方法(茴香豆的五种写法?)。那只是其中一种,今天就总结一下这段时间本F关于linux下使用QQ的心得。

  大概02年左右,当时本F玩redhat时就用过Gaim+libqq插件的形式来登录QQ。一个小小的工具可以在一个软件界面上同时登录多种即时通讯工具,比如ICQ/MSN/QQ等等.感觉还是不错的。那时候QQ貌似还没什么群的概念,自定义表情好像也没什么印象----可能也还没有吧(不记得了,呵呵)。所以当时能登录QQ服务器进行聊天也就达到了其应有的效果。

  在这次玩ubuntu的过程中,虽然本F对QQ这个软件本身很是不屑----管理混乱、烦人的无所不在的广告、打压珊蝴虫事件、最恶心的是前年无缘无故收回了我一个用了好多年的7位靓号----但它毕竟是中国市场占有率最高的IM工具,很多朋友都是只能用QQ联系,没办法只好再想办法搞定它,金刚的滋味不好受啊。

  对于解决QQ联系的方案选择上,本F是走了一点弯路的,当然也获得了一些经验。

  想要登录QQ,有两个大方向可以走:

  第一类是使用linux下的软件来直接登录QQ服务器。

  这类软件有lumaqq、eva、pidgin、Gaim等等,这些软件都属于第三方工具,属于自己分析QQ的协议来仿造QQ客户端实现QQ的部分功能。这类工具的优点是短小精悍,多为多功能登录工具,不但可以登录 QQ,还可以登录MSN、ICQ等其他在线聊天服务器。缺点是毕竟不是原厂出品的客户端,对QQ这种非公开的协议分析不可能完全精确,很多功能无法完美实现,而且QQ经常在升级的时候更改一些协议细节,分析这些细节的变更又需要一定的时间,使得linux下的客户端软件常常有滞后性(经常TMD不能登录)。

  下面这张是本F用pidgin登录的QQ的截图:

  [attach]8225[/attach]

  可以看到,这类工具可以实现登录QQ、和Q友文字交流、发部分表情以及一定的群聊功能。(pidgin还可以实现文件传输功能。)但是远程协助、视频聊天等高级功能就爱莫能助了,其实我这个QQ不止加入了一个群,但是这里只显示一个名称为 NULL 的群,明显对群功能的支持还差强人意。

  第二类是直接使用腾讯自己的客户端登录QQ服务器。

  由于腾讯至今没有发布For Linux的QQ客户端,所以我们只有虚拟出win环境来运行腾讯的QQ客户端。

  这里又有了两种选择:

  1、使用wine模拟win32 API环境来运行QQ

  Wine运行在Linux的X上,它提供了Windows API函数接口,它是一个Windows兼容层,这个层提供了一个从 Windows源与UNIX的开发工具包(Winelib)的接口,另外它还有程序加载器的功能,其允许不用任何修改Windows 3.1/95/NT的二进制文件,简单的说,wine是一个Linux下Windows应用程序模拟器。其模拟出一个C盘,里面有windows文件夹、Program Files文件夹等。windows下的程序就运行在这样一个模拟的windows环境下。

  本F上次文中提到的“QQ完美运行”就是基于wine的解决方案。它的优点显而易见,由于是运行腾讯原厂客户端,通讯协议上不会有任何问题。所以,无论是界面还是功能,都和在windows下没有两样。更加令人兴奋的时,在这种解决方案下,由于QQ仅仅是运行在wine之上,实际上其窗口还是被linux X所控制。所以每个QQ窗口都可以拥有所有linux下设置的眩目特效。想要抓图show给朋友的linuxer有福了!

  [attach]8226[/attach]

  眩目的窗口特效!

  然而,wine解决方案也不是十全十美的,抛开安装设置的繁琐步骤不说。由于wine本身还不是完美的。所以在这些天的使用中,我发现QQ运行并不是非常稳定。进程崩溃时有发生。这种“兼容性故障”,到底归咎于QQ还是wine或是linux本身,目前倒是无法考证。值得一提的是,在这种运行方式下,各种QQ外挂都将失效。

  2、使用虚拟机运行QQ

  这种解决方案也是本F目前使用的,至于用vmware还是virtualbox倒并不是很重要了(本F是两个都装了,最后选择了VB,我喜欢它的无缝模式,虽然我平时只是最大化VB窗口来使用,但是无缝模式用来show还是很cool的,虽然wmware也有类似的功能,但VB的小巧和速度都使我倾心),对于今天的主题----登录QQ来说,它们都是一样的,虚拟出一台电脑的硬件设备,装上操作系统(win2k or winxp。)配置成NAT上网方式,想运行什么就运行什么。

  在这样的环境下,没什么好说的,什么都和windows下一样----根本完全就是在windows中嘛!什么QQ外挂补丁,本来能用的现在就肯定一样有效。要说有什么缺点的话,好吧。由于QQ现在运行在一个windows容器中,linux X 对其没有直接控制权,各种眩目的特效不能生效于QQ窗口了。另外,正因为QQ是运行在windows容器中,它的截图功能只能截取虚拟机中的屏幕(超郁闷!)它是无法直接去linux区域抓图的!当然,如果VB中的windows崩溃了,或者VBirtualBox自身进程挂起了,QQ也就和它们一起同归于尽啦。

  虚拟机中的QQ----和你用的有什么区别?

  [attach]8227[/attach]

  总结:

  鉴于QQ是一个使用封闭协议的即时通讯软件,又没有官方的linux版。

  所以不推荐使用那些linux下的第三方软件来登录QQ,毕竟他们的所实现的功能实在不敢恭维,而且又随时有登录不上的风险(腾讯一个版本升级,通讯协议一改就有此可能)!

  至于wine方案和虚拟机方案之间的选择,建议linux新手直接使用虚拟机。wine配置繁琐,且并不稳定。当然,像我一样两者都用也是一个选择。总之,虚拟机方式运行QQ是最实用的。(我真的喜欢wine下QQ所继承的linux X特效)

  最后说一下,我在VirtualBox的windows里装了uucall(MD用wine都搞不定的东西,本F还充了几百大洋呢,不能不用啊)、飞信(这玩意在linux下用pidgin也能登录,当然需要下载插件并配置,但我既然都装了虚拟机,为什么不直接用它呢)、pcanywhere(没找到合适的linux替代品)。
文章评论

共有 81 条评论

  1. yilinhust 于 2010-07-15 11:17:49发表:

    QQ已经发布官方的linux版了

  2. cstj 于 2010-07-11 15:42:39发表:

    这个文章写的不错呀!!

  3. linuxzwh 于 2010-05-17 08:40:10发表:

    {:2_91:}

  4. Shepherd 于 2010-05-14 11:16:37发表:

    {:2_103:}好啊,学习了

  5. gggvjgef 于 2010-04-19 22:36:12发表:

    该贴太老了.都08了.腾讯早就有了LinuxQQ了.不过效果还是差强人意.有个解决的办法,下载个prism,该小东西能上WEB QQ.哈.挺好用的,顶一下

  6. xpress 于 2010-03-13 22:46:16发表:

    终于呀,有了官方版本!

  7. cui135c 于 2010-03-06 11:00:13发表:

    qq for linux 的版本好像有问题吧
    很不好用啊

  8. wt1988316 于 2010-03-06 09:37:22发表:

    rtye

  9. yiwenlong2 于 2009-12-30 16:17:26发表:

    用官方版的吧

  10. share1107 于 2009-12-27 11:57:10发表:

    使用网页版QQ就行啦

  11. share1107 于 2009-12-27 11:57:08发表:

    使用网页版QQ就行啦

  12. lq9958feng 于 2009-12-25 12:34:42发表:

    {:2_105:}

  13. 765899469 于 2009-12-25 12:22:05发表:

    谢谢

  14. woshijinhao 于 2009-12-23 18:10:45发表:

    学习够了,非常干洗

  15. yujianglovehui 于 2009-12-12 00:53:07发表:

    官方版一小时掉30000次线,顶了,收藏了

  16. mjwen 于 2009-12-10 23:52:59发表:

    但是貌似官方的linux版本qq还是比较差。
    没有象windows那样的好用

  17. 765899469 于 2009-12-09 22:17:13发表:

    好样的

  18. seadsf 于 2009-12-09 16:53:59发表:

    路过。。。。。

  19. yupenglwp520 于 2009-11-07 21:34:39发表:

    0000000000000

  20. yupenglwp520 于 2009-11-07 21:34:36发表:

    0000000000000

  21. snnq 于 2009-10-16 20:12:51发表:

    又了解了点 呵呵 谢谢啦

  22. yeyanbin 于 2009-10-03 01:34:29发表:

    呵呵,不错啊!

  23. samin_w 于 2009-10-02 21:14:06发表:

    很有感触,马上开始搞虚拟机

  24. tjunu 于 2009-09-29 04:17:21发表:

    kaq

  25. xiazhouquan 于 2009-09-03 10:21:56发表:

    谢谢楼主

  26. 巴萨耶夫 于 2009-08-13 09:28:59发表:

    含量

  27. yangjianglin 于 2009-08-12 11:08:09发表:

    qq for linux不好用,装好了没有系统图标

  28. 玩笑类 于 2009-08-08 01:11:08发表:

    定一个

  29. cyujian 于 2009-08-07 10:13:03发表:

    那么大公司, 版本却好久没更新了. 印象差.

  30. beng_jun 于 2009-08-07 09:21:08发表:

    了解....

  31. jackwen 于 2009-08-02 23:58:32发表:

  32. 一翁 于 2009-07-31 22:46:13发表:

    不错阿

  33. wilensky 于 2009-07-30 10:33:02发表:

    QQ已经发布官方的linux版了

  34. fubo880 于 2009-07-25 21:40:47发表:

    现在有官方的FOR LINUX的QQ了,但只是可发发信息

  35. jerry520 于 2009-03-23 13:33:22发表:

    呵呵,不错啊!

  36. lglion718 于 2008-08-30 01:56:50发表:

    Linux 的内核展现出了几个相互关联的设计目标,它们依次是:清晰性(clarity),兼容性(compatibility),可移植性(portability),健壮性(robustness),安全性(security)和速度(speed)。这些目标有时是互补的,有时则是矛盾的。但是它们被尽可能的保持在相互一致的状态,内核设计和实现的特性通常都要回归到这些问题上来。本节接下来的部分将分别讨论这些设计目标,同时还将对它们之间的取舍与平衡进行简要的说明。

  37. linnumber 于 2008-08-29 19:55:38发表:

    感谢。。。。。。。。。。。。

  38. mireee 于 2008-07-25 21:44:59发表:

    我也是装的pidgin呢

  39. nicety 于 2008-07-18 13:58:07发表:

    一不小心把pidgin给装上了,还没有来得及试用,先用用好不好再说了:987w(1

  40. xiaoyun5109 于 2008-07-10 08:43:25发表:

    eva 新版本0.4.921很不错,我现在一直用,很稳定