LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5333|回复: 6

[总结]Debian Sid里的fcitx+im-switch无痛输入法的安装

[复制链接]
发表于 2006-2-23 00:29:34 | 显示全部楼层 |阅读模式
Debian 唯一不如意的可能就是输入法的问题了
没有输入法管理工具和切换工具
使得刚用Debian的新手无所适从
前一段时间huangjiahua版主发一了个帖子
<<托妮做的 fcitx 3.2 deb 包>>
http://www.linuxsir.cn/bbs/showt ... mp;highlight=switch
其中提到了im-switch+支持im-swtich的fcitx3.2为我提供了一个有用信息
但是当时我是用fvwm的
在上面帖子中提到在~/下不能有.xinitrc or .Xsession文件
使我百思不得其解
于是放弃了im-switch
可是前几天我给同学装sid时想起了这个帖子
想用尽量简单的方法来处理输入法的问题
于是费了老大劲从hua版主浩浩的帖子中找到了这篇原帖子
于是下载了那个etony打的包
安装了im-switch
然后注销后再登陆就能用Ctrl+Space就能唤出fcitx了
于是总结基于gdm登陆的sid系统的输入法简单处理如下:

测试系统的locale为zh_CN.GBK用gdm登陆

1.im-switch

  1. #apt-get install im-switch
复制代码

2.fcitx 3.2

  1. #wget  http://www.fcitx.org/download/fcitx_3.2-051010_i386.deb
  2. #dpkg -i fcitx_3.2-051010_i386.deb
复制代码

3.注销重再登陆即可
注:我没有utf8下的locale下测试,希望哪位能测试一下,看看能不能成功


给同学安装成功了后我于是也想摆弄一下了
但是我的系统没用gdm而是用startx来启动fvwm,而fvwm用的是~/.xinitrc来启动的
所以按照上面的办法怎么也没成功(.xinitr里关于输入法的export已经注掉)
于是google到一篇
<<debian上输入法启动工具im-switch>>
http://bamanzi.blogeden.cn/post/110848/3911
还有这一个
http://www.linuxsir.cn/bbs/showthread.php?t=231396
在这篇文章里我知道了im-switch在安装后还是要进行配置一点东西的
而上面hua版主的文章里讨论要删掉.Xsession or .xinitrc才能启动fcitx这个观点个人感觉是不对的
于是我就看了一下im-switch的发行注记

  1. $ more /usr/share/doc/im-switch/README.Debian
  2. im-switch for Debian
  3. --------------------

  4. - To check input method list:
  5.    # im-switch -l
  6. - To change default SYSTEM input method:
  7.    # im-switch -s <inputmethod>
  8.    (inputmethod is such as uim_skk)
  9.    This changes /etc/alternatives/xinput-<LANG name>
  10. - To change default USER input method:
  11.    $ im-switch -s <inputmethod>
  12.    This changes ~/.xinput/xinput-<LANG name>

  13. Each input method needs
  14. -----------------------
  15. Each input method deb should provide alternative such as:

  16. [postinst]
  17. update-alternatives \
  18.         --install /etc/X11/xinit/xinput.d/ja_JP xinput-ja_JP \
  19.         /etc/X11/xinit/xinput.d/uim_skk 50

  20. [prerm]
  21. update-alternatives --remove xinput-ja_JP /etc/X11/xinit/xinput.d/uim_skk

  22. -- Kenshi Muto <kmuto@debian.org>, Sun, 13 Feb 2005 21:12:00 +0900

复制代码


其实工作原理大概是:
im -switch根据当前LANG执行/etc/X11/xinput.d/<lang name>或~/.xinput/xinput-<lang name>
而<lang name>链接到一个由输入法自行提供的启动脚本(这个链接由alternatives系统来管理)。
但目前fcitx尚未提供im-switch备选项,所以我们要做的有下面这几步:

我的locale是zh_CN.utf-8,其实gb,gbk也可以按这种方法来处理 BIG5不知道,因为不知道fcitx支持否,按理说应该支持吧(偶没查证,如果这样应该也行
1.安装fcitx3.2  ,   im-switch方法同上
2.创建 /etc/X11/xinit/xinput.d/fcitx 文件

  1. #cat > /etc/X11/xinit/xinput.d/fcitx <<"EOF"
  2. >XIM=fcitx
  3. >XIM_PROGRAM=/usr/bin/fcitx
  4. >XIM_ARGS=
  5. >GTK_IM_MODULE=XIM
  6. >DEPENDS=
  7. >EOF
复制代码

3.用update-alternatives来创建链接
zh_CN的locale下

  1. #update-alternatives --install /etc/X11/xinit/xinput.d/zh_CN xinput-zh_CN  /etc/X11/xinit/xinput.d/fcitx 50
复制代码

zh_CN.UTF-8的locale下

  1. #update-alternatives --install /etc/X11/xinit/xinput.d/zh_CN.UTF-8  xinput-zh_CN.UTF-8  /etc/X11/xinit/xinput.d/fcitx 50
复制代码

4.注销再登陆即可

我发现如果你的locale跟上面相对应时根本用不着im-switch -s ...来配置
这一点还是很智能的

以上只是我的总结,也学会了怎么用update-alternatives
还用上了传说中的FVWM-Crystal
呵呵
在一些环境下还没有充分测试
其实最主要的是我不知道im-swtich在sarge和testing里有没有
写希望对大家能有帮助和启发
也做一个笔记发便日后查看
发表于 2006-2-23 07:43:15 | 显示全部楼层
真好,那天我整理置顶的时候就发现有些中文输入法的帖子已不合时,今天这篇精华可以填补上了;)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-23 12:25:56 | 显示全部楼层
呵呵
如果有兄弟在sarge/testing下测试一下报告上来
就更完美了

有兄弟问我关于update-alternatives怎么用
其实man一下就知道了
很简单
具体功能作用google估计能找到吧
看这个简单的描述就知道怎么用了

  1. $update-alternatives
  2. update-alternatives: need --display, --config, --set, --install, --remove, --all, --remove-all or --auto

  3. Debian update-alternatives 1.13.16.
  4. Copyright (C) 1995 Ian Jackson.
  5. Copyright (C) 2000-2002 Wichert Akkerman
  6. This is free software; see the GNU General Public Licence
  7. version 2 or later for copying conditions.  There is NO warranty.

  8. Usage: update-alternatives --install <link> <name> <path> <priority>
  9.                           [--slave <link> <name> <path>] ...
  10.        update-alternatives --remove <name> <path>
  11.        update-alternatives --remove-all <name>
  12.        update-alternatives --auto <name>
  13.        update-alternatives --display <name>
  14.        update-alternatives --list <name>
  15.        update-alternatives --config <name>
  16.        update-alternatives --set <name> <path>
  17.        update-alternatives --all
  18. <name> is the name in /etc/alternatives.
  19. <path> is the name referred to.
  20. <link> is the link pointing to /etc/alternatives/<name>.
  21. <priority> is an integer; options with higher numbers are chosen.

  22. Options:  --verbose|--quiet  --test  --help  --version
  23.           --altdir <directory>  --admindir <directory>

复制代码


我开始也是没有耐心去看
后来对照我帖子中引用别人写的那几句推敲了一下也大概知道了
update-alternatives --install <link> <name> <path> <priority>
这一句是你创建某个可选项符号链接(姑且这么译吧)
<link>是指你的目标链接,如果你按照我上篇帖子中的办法做了的话就会发现

  1. $ ls -a  /etc/X11/xinit/xinput.d/
  2. total 8
  3. drwxr-xr-x 2 root root 176 2006-02-23 01:55 .
  4. drwxr-xr-x 3 root root 128 2006-01-17 20:21 ..
  5. -rw-r--r-- 1 root root  74 2006-02-23 00:57 fcitx
  6. lrwxrwxrwx 1 root root  30 2006-02-23 00:15 ja_JP -> /etc/alternatives/xinput-ja_JP
  7. -rw-r--r-- 1 root root  52 2005-10-26 17:10 none
  8. lrwxrwxrwx 1 root root  30 2006-02-23 01:55 zh_CN -> /etc/alternatives/xinput-zh_CN
  9. lrwxrwxrwx 1 root root  36 2006-02-23 01:55 zh_CN.UTF-8 -> /etc/alternatives/xinput-zh_CN.UTF-8

复制代码

<name>是指/etc/alternatives中的名称,也就是当你用update-alternatives --config ***中***的名称
<patch>当然就是你的链接的源文件了,在上面例子中当然就是fcitx了
<priority>是优先级,我不太懂,不过README.debian中说要设置成50,那你也就按它说的做就行了
回复 支持 反对

使用道具 举报

发表于 2006-2-23 22:14:48 | 显示全部楼层
#apt-get install im-switch

提示没有im-switch
回复 支持 反对

使用道具 举报

发表于 2006-4-21 22:41:12 | 显示全部楼层
Post by 小虫子
#apt-get install im-switch

提示没有im-switch


版本问题吧,Sid里有这个包

还有zh_CN-utf8也可以适用

再就是.xsession或.xinit是可以存在的,华华那个帖子里只是不推荐用它们来启动WM而已,我就一直用着的,只是你不能在这两个文件里加入启动Fcitx的内容,不然它会与im-switch启动的Fcitx冲突的
回复 支持 反对

使用道具 举报

发表于 2006-4-21 22:44:17 | 显示全部楼层
还有以前用过置顶方法安装里提到的启动输入法的方法的,要把创建的相应启动Fcitx的文件删除(比如:/etc/X11/Xsession.d/95im-launch)
回复 支持 反对

使用道具 举报

发表于 2008-6-16 21:29:28 | 显示全部楼层
现在好像这样安就可以了!
sudo apt-get install fcitx im-switch
sudo im-switch -s fcitx -z default
我在gnome,kde,fvwm中都是这样安的,都可以用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表