修复升级python版本之后ibus输入法不显示控制面板和候选框的问题
因为python版本需求,通过下载python2.7.6源码包,编译安装了python2.7版本。安装完该版本后,发现ibus输入法虽然可以激活使用,但是不显示控制面板,无法更改设置,连候选词条框都没有,使用几乎瘫痪。由于ibus依赖了一些python模块,所以推测是python版本的问题。
1. 尝试打开输入法设置
#ibus-setup
Traceback (most recent call last):
File "/usr/share/ibus/setup/main.py", line 28, in <module>
import gtk
Import Error: No module named gtk
以上模块加载错误信息说明,当前的python版本没有gtk模块。之前安装ibus时,ibus-gtk库是安装在python2.6环境下的,说明键入“python”之后,终端调用的是python2.7版本,查看:
#python --version
Python 2.7.6
#which python
/usr/local/bin/python
为什么会是/usr/local/bin下面的python(2.7),而不是/usr/bin/下面的python(2.6)呢,这关乎到系统环境变量执行路径的设置顺序,查看PATH:
#echo $PATH
/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-2.1.1/bin:/usr/local/rvm/gems/ruby-2.1.1@global/bin:/usr/local/rvm/rubies/ruby-2.1.1/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin:/usr/java/jdk1.7.0_45/bin:/usr/java/jdk1.7.0_45/jre/bin:/usr/hadoop/bin:/usr/zookeeper/bin:/usr/chukwa/bin:/usr/chukwa/sbin:/usr/chukwa/etc/chukwa:/usr/hbase/bin:/usr/pig/bin:/usr/hive/bin:/root/bin
从中可以看出,/usr/local/bin在/usr/bin的前面,所以会优先查找/usr/local/bin目录,从而找到python(2.7.6)来执行。
2. 解决
为了在不影响原来系统的正常路径查找顺序以及python版本的设置的情况下,能够让ibus定位到python2.6.6版本,可以用如下暴力解决方法:
删除或者修改/usr/local/bin/python文件:
#mv /usr/local/bin/python{,.bak}
再次执行python:
#python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:37:14)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
发现已经是之前的旧版本2.6.6了
若要使用2.7.6版本,可以用/usr/local/bin目录下python2.7或者python2来执行:
#python2.7
Python 2.7.6 (default, Apr 19 2014, 11:38:31)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
重启系统,然后执行ibus-setup:
#ibus-setup
出现设置界面,设置好输入法之后,ibus就可以正常使用了
——游响云停
本文出自 “游响云停” 博客,请务必保留此出处http://rangochen.blog.51cto.com/2445286/1405328