我的VM 里面的Linux 系统是 Red Hat 9 企业版的,虽然现在红帽子都不更新这个版本了,但是做课题需要,没办法,只能用这个了。
系统里面原来自带的Emacs 是2.1版本的,且不能输入中文和现实中文,如果c代码文件里有中文,在emacs中显示的都是乱码......无奈ing......
于是,卸载了原来的 emacs,原来安装的是rpm形式的安装包。所以在终端输入
rpm -qa | grep emacs ,然后,就会显示四行都是以emacs 开头的东西,那四个就是已经安装到系统的rpm安装包。逐个卸载:rpm -e XXX,XXX代表前面的4行中的每一行名字(RPM包),把四个都卸载完后,再输入一次rpm -qa | grep emacs ,应该不会显示有emacs开头的东东了,表明卸载完了。
安装Emacs:到GUN官网下载最新版的Emacs 23.2.2源码包(可以在连接http://www.gnu.org/prep/ftp.html 中找一个镜像,然后找到emacs最新版下载),然后解压、编译、安装:
./configure
make
make install
安装Fcitx:到小企鹅官网http://www.fcitx.org/main/ 下载区下载最新版的源码包,然后解压、编译、安装:(如果您以前安装过fcitx,并且正在使用。请如下操作。
[root@S6 fcitx-3.0.0rc]# pkill fcitx #关闭fcitx进程,也可用killall代替。)
./configure
make
make insall
(注意版本:3.6.3版本的,会有后面提到的虚拟机占CPU100%的问题,我试过3.6.2和3.1都不会出现虚拟机占CPU100%)
安装好后,fcitx 还不能自动启动,需要在/root 目录下,打开隐藏的文件 .dashrc,在此文件的末尾处,加入下面的内容:
#FCITX
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
#LOCALE setup
export LC_CTYPE=zh_CN.UTF-8
#load fcitx
fcitx&
才能实现fcitx自动启动,如果加仅仅了这两行,会导致每次启动终端时,都会提示说 start fcitx error,another ...named fictx...也就是每次都会重新启动一次fictx。所以,这里,我在启动fcitx之前,先把之前的fcitx进程kill 掉,这样的结果是,每次启动终端时,fictx的悬浮框会闪一次,也就是重新启动了,但是,终端里不会提示start fcitx error,another ...named fictx... 之类的错误了
还有设置LOCALE 语言的问题:如果设置 LC_CTYPE=zh_CN.UTF-8 的话,会导致在桌面上新建文件夹或者文件时,无法切换到fcitx输入中文,即使fcitx已经启动,但是“智能拼音”是灰色的,也即是不可用状态。而设置 LC_CTYPE=zh_CN.GBK ,就不会出现上面的问题。而且在 Emacs 23.2.1 中可以通过Ctrl+空格切换fcitx输入中文。
有网友说在Emacs中Ctrl+空格切换不了,而是emacs里面的mark set 快捷键。但是我这里不会出现这个问题,因为我的fcitx都是随系统启动的,也就是在你用emacs打开任何一个文件之前就运行fictx了,所以Ctrl+空格自然被fcitx截获而切换输入法。
但是,还是有不完美的地方,就是,在终端输入英文时,那个字母 m,老是显示得跟 n 似的,这个是因为前面设置了
#LOCALE setup
LC_CTYPE=zh_CN.GBK
的缘故。因为不设置这个,无法在桌面上切换到fcitx输入法(而emacs中却可以,怪哉!!),而设置了,好像英文显示就会不完整了,不知道这个是不是跟我系统里面的字体有关。
#load fcitx
kill fcitx
fcitx&
(注意:有些网友说还要在最后面加