当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [方案共享]输入法选择出现错误 解决方法 找不到替换项 “/etc/X11/xinit/xinput.d/fcitx”
帖子发表于 : 2008-10-18 8:59 
头像

注册: 2007-06-13 15:57
帖子: 12564
地址: 在他乡
送出感谢: 50
接收感谢: 86
安装了fcitx3.5-1的deb,废了源里的,结果选择输入法时提示
代码:
sudo im-switch -s fcitx
update-alternatives: 找不到替换项 “/etc/X11/xinit/xinput.d/fcitx”。

找了一下,解决方案如下,以作备案 :em02
原文见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"

而 /etc/X11/xinit/xinput.d/scim 的内容如下。
代码:
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 命令。这是一个只有 root 才能执行的命令。update-alternatives 的意思是 “可选择的内容”。假如你的系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 update-alternatives 来指定一个全局的设置。它有几种功能,可以用命令行参数来指定。具体用户你可以man一下,举例:
代码:
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

这两个命令的意思就是将刚才新建的 scim 和 fcitx 两个文件作为 zh_CN 的可选内容。它们的优先级分别是 100 和 99,它们共同的名字是 xinput-zh_CN。

另外一种功能是选择默认值。上面的命令仅仅向数据库中添加了可选内容,接下来当然是进行选择了。可以用两种办法,第一种是 update-alternatives --auto <name>,这时系统会根据优先级来选择 <name> 的默认值。例如,运行
代码:
update-alternatives --auto xinput-zh_CN

会把默认输入法设置为 scim。(为什么?因为我们在上面指定的优先级是 100,是最高的,fcitx 只有 99)
第二种是 update-alternatives --config <name>,这时会显示一个对话框,大概是这样
引用:
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

要维持缺省值[*],按回车键,或者键入选择的编号:

可以看到系统中已经通过 update-alternatives --install 添加了5个可选内容。优先级最高的是 `*' 指示的那一个,目前的默认全局使用的是 `+' 指示的那一个。输入数字5 就会将默认值改为 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

需要注意的是,这样做不会修改当前的默认值,只有再运行 update-alternatives --auto 才会做出选择。或者,用 update-alternatives --config 也可以。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [方案共享]输入法选择出现错误 解决方法 找不到替换项 “/etc/X11/xinit/xinput.d/fcitx”
帖子发表于 : 2008-10-18 9:28 
头像

注册: 2007-10-19 14:51
帖子: 4953
地址: 深圳
送出感谢: 0 次
接收感谢: 2
好帖子


_________________
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译