代码: 全选
sudo im-switch -s fcitx
update-alternatives: 找不到替换项 “/etc/X11/xinit/xinput.d/fcitx”。
原文见http://blog.chinaunix.net/u/30503/showart_1273239.html
根据ubuntu作少量更改。
首先,要明白自己的策略,究竟是全局配置,也就是系统中一次设置之后,所有用户都生效;还是只为某个用户进行设置。假如系统中只有一种输入法,那么当然只要全局设置就可以了,可是需要考虑到扩展的情况吧
无论是全局设置还是为某个用户进行设置,先应该有两个文件,文件在安装输入法时就会有了。
/etc/X11/xinit/xinput.d/fcitx 的内容是
代码: 全选
XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS=""
GTK_IM_MODULE=XIM
QT_IM_MODULE=XIM
DEPENDS="fcitx"
代码: 全选
XIM=SCIM
XIM_PROGRAM=/usr/bin/scim
XIM_ARGS="-d"
XIM_PROGRAM_SETS_ITSELF_AS_DAEMON=yes
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
DEPENDS="scim,scim-anthy|scim-canna|scim-chewing|scim-pinyin|scim-hangle|scim-prime|scim-skk|scim-tables-additional|scim-m17n|scim-uim|scim-tables-ja|scim-tables-ko|scim-tables-zh"
代码: 全选
update-alternatives --install /etc/X11/xinit/xinput.d/zh_CN xinput-zh_CN /etc/X11/xinit/xinput.d/scim 100
update-alternatives --install /etc/X11/xinit/xinput.d/zh_CN xinput-zh_CN /etc/X11/xinit/xinput.d/fcitx 99
另外一种功能是选择默认值。上面的命令仅仅向数据库中添加了可选内容,接下来当然是进行选择了。可以用两种办法,第一种是 update-alternatives --auto <name>,这时系统会根据优先级来选择 <name> 的默认值。例如,运行
代码: 全选
update-alternatives --auto xinput-zh_CN
第二种是 update-alternatives --config <name>,这时会显示一个对话框,大概是这样
可以看到系统中已经通过 update-alternatives --install 添加了5个可选内容。优先级最高的是 `*' 指示的那一个,目前的默认全局使用的是 `+' 指示的那一个。输入数字5 就会将默认值改为 fcitx,输入回车的话就不做改动。sudo update-alternatives --config xinput-zh_CN
现有 5 个可选项,它们都提供了“xinput-zh_CN”<
选择 可选项
-----------------------------------------------
* 1 /etc/X11/xinit/xinput.d/scim
2 /etc/X11/xinit/xinput.d/scim-immodule
3 /etc/X11/xinit/xinput.d/scim-bridge
4 /etc/X11/xinit/xinput.d/scim-pinyin
+ 5 /etc/X11/xinit/xinput.d/fcitx
要维持缺省值[*],按回车键,或者键入选择的编号:
哪种好一点?它们不会冲突,哪个都可以。要修改优先级怎么办?比如要把 fcitx 的优先级提高成 101,应该怎么办?答案很简单,再运行一次 update-alternatives --install 就可以了
代码: 全选
update-alternatives --install /etc/X11/xinit/xinput.d/zh_CN xinput-zh_CN /etc/X11/xinit/xinput.d/fcitx 101