首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 应用>linux技巧应用>文章内容
精彩分享:Linux系统下使用aMsn详解
来源:www.unix5.com 作者:riechelr_hl 发布时间:2007-05-21  

amsn这一款在linux下的Msn就不多介绍了,0.95版出来后加入了摄像头,在加上其文件传输功能,你还留恋于gaim么?

经过多天的搜索和尝试,终于在Fedora Core3里用上amsn了。其实安装amsn并run起来不难(不过我基本上从不能运行到能运行,不能输入任何字符到能输入英文,不能输入中文到能输入中文的问题都遇到了,还遇到程序段错误等等,也够衰的了),尤其是中文输入的问题是有点麻烦,因为开发amsn的语言是Tcl/tk, 对中文的支持不是太好,加之amsn-0.95需要tcl/tk 8.4以上支持,故以前jserv兄的tcl/tk 8.3 XIM patch不能用了,不过前几天他推出了一个diff,总算让偶找到了,活活。ok,闲话不多说了。

安装amsn的必要条件:

1.gcc之类编译工具必不可少,涉及相应类库,如果你在编译时出错,烦请自己上网搜相应的包安装.

2.tcl8.5a3-src.tar.gz

3.tk8.5a3-src.tar.gz 以上两个包都可以在tcl/tk的官方网站下载得到

4.amsn-0.95.tar.gz 这里需要说明一下,amsn.sourceforge.net上有很多amsn的版本诸如bin,rpm等,甚至有专为Fedora的rpm包,不过鄙人不推荐使用那些,在列表里选取“other”,下载amsn-0.95.tar.gz。

5. tk-cvs-xim-fixes.diff 下载地址http://jserv.sayya.org/tcl-i18n/tk-cvs-xim-fixes.diff (附言:感谢jserv大大对aMsn中文输入的贡献)

当获取这些文件后,我们把之放在/home目录下

为了造成不必要的困扰,先删除系统中自带的tcl和tk

[root@localhost ~]#rpm -qa|grep tcl

tcl8.4*****

[root@localhost ~]#rpm -e tcl

[root@localhost ~]#rpm -qa|grep tk

tk8.4*****

[root@localhost ~]#rpm -e tk

如果卸载tcl发现有其他安装包依赖于tcl,如果那些包不重要,就先删那些包,当然你也可以rpm -e --nodeps tcl卸载。

[root@localhost home]# tar xvzf tcl8.5a3-src.tar.gz

[root@localhost home]# tar xvzf tk8.5a3-src.tar.gz

在安装它们之前需要先进行diff打patch,命令很简单:patch -p0 < tk-cvs-xim-fixes.diff

不过为大家解析一下jserv大大的这个patch文件内容,这样理解起来大家更容易些,中文输入都是我说的话(针对Linux菜鸟,汗!其实偶也是菜鸟)

Index: generic/tkEvent.c

===================================================================

RCS file: /home/tk8.5a3/generic/tkEvent.c,v //遭修改的文件 tkEvent.c

retrieving revision 1.31

diff -u -p -r1.31 tkEvent.c

--- generic/tkEvent.c 4 Nov 2005 11:52:50 -0000 1.31

+++ generic/tkEvent.c 4 Jan 2006 06:31:19 -0000

@@ -449,8 +449,10 @@ InvokeInputMethods( //大概在449行左右的位置,在InvokeInputMethods方法里

XSetICFocus(winPtr->inputContext);

}

}

- if (XFilterEvent(eventPtr, None)) { // 删

- return 1; //删

+ if (eventPtr->type == KeyPress || eventPtr->type == KeyRelease) { //增加的内容

+ if (XFilterEvent(eventPtr, None)) { //增加

+ return 1; //增加

+ } //增加

}

}

return 0;

Index: unix/tkUnixEvent.c

RCS file: /home/tk8.5a3/unix/tkUnixEvent.c,v

retrieving revision 1.19

diff -u -p -r1.19 tkUnixEvent.c

--- unix/tkUnixEvent.c 7 Dec 2005 17:32:52 -0000 1.19

+++ unix/tkUnixEvent.c 4 Jan 2006 06:31:20 -0000

@@ -334,19 +334,22 @@ static void

TransferXEventsToTcl(

Display *display)

{

- int numFound;

XEvent event;

- numFound = QLength(display);

-

/*

- * Transfer events from the X event queue to the Tk event queue.

+ * Transfer events from the X event queue to the Tk event queue

+ * after XIM event filtering. KeyPress and KeyRelease events

+ * are filtered in Tk_HandleEvent instead of here, so that Tk's

+ * focus management code can redirect them.

共2页: 上一页 1 [2] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·MBR如果被覆盖了怎麽办?
·linux应用技巧集囊(新手遍)
·Linux操作系统Gaim玩转QQ与MSN--
·shell编程技巧
·制作软盘上运行的FreeBSD系统
·简述 Linux 文件系统的目录结构
·提高Linux系统性能,加速网络应用
·优化Linux系统服务器硬盘实用技
·Linux操作系统下设置NFS共享讲解
·Linux 的带宽管理系统
·通过Linux系统引导CD排除服务器
·Linux系统下查CPU个数的方法
  相关文章
·Linux 的带宽管理系统
·怎样才能提高Linux系统安全性能
·简述 Linux 文件系统的目录结构
·Linux系统在存储技术中的几项应
·linux操作系统修改共享内存的简
·Linux 运行级init详解(新手遍)
·Linux下计算程序运行时间的两种
·MBR如果被覆盖了怎麽办?
·Linux下文件的压缩、打包与解开
·打造自己的Linux 常用应用软件列
·linux应用技巧集囊(新手遍)
·使用 ssh 进行安全的连接

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!