精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-15
由于要使用系统的虚拟机(主要是vbox),我发现我的输入法scim和虚拟机相互冲突,无赖之下我只好投奔fcitx了。 现在就来讲述一下fcitx的痛苦安装过程(主要怪自己没有认真看wiki)。 为了不误导大家,建议大家可以参阅帖子: http://forum.ubuntu.org.cn/viewtopic.php?p=649597&sid=d159d93db3587b62b08d2d86eae9aee2 里面有地方讲到了wiki相关地址。
以下是我的一些方法。 这种方法是在没有删除scim输入法的情况下选择使用输入法的一种方式。如果你不习惯用fcitx的话可以换回去而无须安装。 首先和wiki一样使用apt安装了fcitx sudo apt-get install im-switch fcitx 不过前一个im-switch已经装好了。 其次就是主要环节了。我比较喜欢en_US的环境所有要首先解决en环境下输入法的调度问题. wiki中写道
编辑 /etc/gtk-2.0/gtk.immodules(如果存在的话) 或者 /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules 文件,在xim 的 local 增加 en 也就是说:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh" 改成 "xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh" 由于ubuntu 8.04没有前面一个文件,所以就需要修改后面那个了.我这里配置文件的修改地方在文件最后一行.
然后是解决自动启动的问题了. 通过分析我了解到X系统的启动是需要经过一系列xsession的,其中有一些地方涉及到了输入法的装入: /etc/X11/Xsession.d 目录下面就是需要加载的程式.其中的 80im-switch脚本文件引起了我的注意. 打开文件我发现这里就是输入法的装载信息: 80im-switch 写道
#!/bin/sh
# Copyright (C) 2005 Kenshi Muto <kmuto@debian.org> # Modified for Debian package. # Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This # copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the # GNU General Public License version 2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # X Input method setup script # Keep original values related to IM _XIM=$XIM _XIM_PROGRAM=$XIM_PROGRAM _XIM_ARGS=$XIM_ARGS _XMODIFIERS=$XMODIFIERS _GTK_IM_MODULE=$GTK_IM_MODULE _QT_IM_MODULE=$QT_IM_MODULE # $LNG is locale <language>_<region> without .<encoding> and .<encoding>@EURO LNG=${LC_ALL:-${LC_CTYPE:-${LANG}}} LNG=${LNG%@*} LNG=${LNG%.*} [ -z "$LNG" ] && LNG="all_ALL" || true echo "Setting IM through im-switch for locale=$LNG." # Source first found configuration under $LNG locale for f in "$HOME/.xinput.d/${LNG}" \ "$HOME/.xinput.d/all_ALL" \ "/etc/X11/xinit/xinput.d/${LNG}" \ "/etc/X11/xinit/xinput.d/all_ALL" \ "/etc/X11/xinit/xinput.d/default" ; do if [ -f "$f" -a -r "$f" ]; then echo "Start IM through $f linked to $(readlink -f $f)." . "$f" break fi done unset LNG # Revibe IM related environment if other values were set. [ "$_XIM" ] && XIM=$_XIM || true [ "$_XIM_PROGRAM" ] && XIM_PROGRAM=$_XIM_PROGRAM || true [ "$_XIM_ARGS" ] && XIM_ARGS=$_XIM_ARGS || true [ "$_XMODIFIERS" ] && XMODIFIERS=$_XMODIFIERS ||true [ "$_GTK_IM_MODULE" ] && GTK_IM_MODULE=$_GTK_IM_MODULE || true [ "$_QT_IM_MODULE" ] && QT_IM_MODULE=$_QT_IM_MODULE || true [ -n "$GTK_IM_MODULE" ] && export GTK_IM_MODULE || true [ -n "$QT_IM_MODULE" ] && export QT_IM_MODULE || true # setup XMODIFIERS [ -z "$XMODIFIERS" -a -n "$XIM" ] && XMODIFIERS="@im=$XIM" || true [ -n "$XMODIFIERS" ] && export XMODIFIERS || true # execute XIM_PROGRAM if [ -n "$XIM_PROGRAM" -a -x "$XIM_PROGRAM" ]; then if [ -z "$XIM_PROGRAM_SETS_ITSELF_AS_DAEMON" ]; then eval "$XIM_PROGRAM $XIM_ARGS &" || true else eval "$XIM_PROGRAM $XIM_ARGS" || true fi fi # execute XIM_PROGRAM_XTRA [ -n "$XIM_PROGRAM_XTRA" ] && eval "$XIM_PROGRAM_XTRA &" || true 其中的红地方是值得注意的,它在加载的时候其实是按照用户的配置文件行使的,进入 "$HOME/.xinput.d/" 目录,我们看到里面就是一个link文件(名字应该是en_US,因为我的默认环境是en_US).在这里我们初步判定系统加载输入法的时候可能就是通过locale来判定位置,然后根据各自的不同位置来加载配额文件.我跟踪这个link文件发现其就是链接到了/etc/X11/xinit/xinput.d 目录下的scim文件(里面是scim输入法需要加载时候的相关配置信息).至此我们希望把其改成fcitx输入法,在/etc/X11/xinit/xinput.d 目录里面我又发现了fcitx的配置文件.这样好了我们就直接改那个link文件到这个配置文件fcitx就可以了.
如此以来重启x,再进入系统应该就可以使用fcitx输入法了.
这样一来我们在没有删除scim输入法,和保留我们以往的语言环境的情况下使用上了fcitx.
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-15
其实比较简单.不过这个输入法是个悬浮的,不爽!
|
|
返回顶楼 | |
发表时间:2008-06-16
不错不错。
|
|
返回顶楼 | |
发表时间:2008-06-18
如果不追求en_us,直接用zh_cn,就不会这么麻烦了。跟着wiki做就是了。
|
|
返回顶楼 | |
发表时间:2008-06-18
不过fcitx有一点不如scim的,就是按shift不能切换到英文状态。
|
|
返回顶楼 | |
发表时间:2008-06-19
可以切换英文状态.
不过我的环境是en_US. 不知道是不是环境的问题. |
|
返回顶楼 | |
发表时间:2008-07-02
最近发现这个fcitx有时候在系统里面会出现僵死情况,在ubuntu论坛上面有详细讲解,我就不再赘述.
http://forum.ubuntu.org.cn/viewtopic.php?p=824798#824798 |
|
返回顶楼 | |
发表时间:2008-11-01
以下是我的配置文件信息 ~/.fcitx/config 写道 [程序]
显示字体(中)=Microsoft YaHei 显示字体(英)=Monospace 显示字体大小=12 主窗口字体大小=10 字体区域=zh_CN.UTF-8 是否使用AA字体=1 是否使用粗体=1 [输出] 数字后跟半角符号=1 Enter键行为=2 分号键行为=2 大写字母输入英文=1 转换英文中的标点=1 联想方式禁止翻页=1 [界面] 候选词个数=5 主窗口是否使用3D界面=0 输入条使用3D界面=0 主窗口隐藏模式=1 显示虚拟键盘=0 是否自动隐藏输入条=1 输入条是否居中=1 首次显示输入条=0 #输入条固定宽度(仅适用于码表输入法),0表示不固定宽度 输入条固定宽度=0 输入条偏移量X=0 输入条偏移量Y=12 序号后加点=1 显示打字速度=0 显示版本=0 光标色=92 210 131 主窗口背景色=8 8 6 主窗口线条色=24 24 24 主窗口输入法名称色=170 170 170 220 220 220 255 255 255 输入窗背景色=8 8 6 输入窗提示色=152 180 245 输入窗用户输入色=255 255 255 输入窗序号色=255 255 255 输入窗第一个候选字色=152 180 245 #该颜色值只用于拼音中的用户自造词 输入窗用户词组色=152 180 245 输入窗提示编码色=255 255 255 #五笔、拼音的单字/系统词组均使用该颜色 输入窗其它文本色=255 255 255 输入窗线条色=0 0 0 输入窗箭头色=220 220 220 虚拟键盘窗背景色=220 220 220 虚拟键盘窗字母色=80 0 0 虚拟键盘窗符号色=0 0 0 #除了“中英文快速切换键”外,其它的热键均可设置为两个,中间用空格分隔 [热键] #打开关闭输入法:SHIFT_SPACE SHIFT_LCTRL 打开/关闭输入法=SHIFT_LCTRL CTRL_LSHIFT #中英文快速切换键 可以设置为L_CTRL R_CTRL L_SHIFT R_SHIFT 中英文快速切换键=L_SHIFT 双击中英文切换=0 击键时间间隔=250 光标跟随=CTRL_K GBK支持=CTRL_M GBK繁体切换键=CTRL_ALT_F 联想支持=CTRL_L 反查拼音=CTRL_ALT_E 全半角=SHIFT_SPACE 中文标点=ALT_SPACE 上一页=- , 下一页== . 第二三候选词选择键=SHIFT [输入法] 使用拼音=1 使用双拼=0 默认双拼方案=自然码 使用区位=0 使用码表=0 提示词库中的词组=1 [拼音] 使用全拼=0 拼音自动组词=1 保存自动组词=1 增加拼音常用字=CTRL_8 删除拼音常用字=CTRL_7 删除拼音用户词组=CTRL_DELETE #拼音以词定字键,等号后面紧接键,不要有空格 拼音以词定字键=[] #重码调整方式说明:0-->不调整 1-->快速调整 2-->按频率调整 拼音单字重码调整方式=2 拼音词组重码调整方式=1 拼音常用词重码调整方式=0 是否模糊an和ang=0 是否模糊en和eng=0 是否模糊ian和iang=0 是否模糊in和ing=1 是否模糊ou和u=0 是否模糊uan和uang=0 是否模糊c和ch=1 是否模糊f和h=0 是否模糊l和n=1 是否模糊s和sh=1 是否模糊z和zh=1 |
|
返回顶楼 | |
浏览 13693 次