在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
使用linux最沮丧的事情莫过于中文输入法切换不出来,甚至有人错误地认为,要使用中文输入法,必须把“区域和语言”(Region & Language)设置为中国-中文。输入法只是一个软件,和区域设置没有什么必然联系。如果你在初始化安装系统的时候,选择了中文,倒是会帮你把中文输入法打包安装好。 所以和我一样使用en-us区域设置的朋友,如果输入法出了问题,怎么排查解决呢? 首选你必须安装一个中文输入法,推荐小企鹅 sudo yum install fcitx-pinyin 但是,安装完后,发现按 ctrl+space 却没有召唤出输入法。需要在终端中执行 im-chooser 选中当前输入法为FCITX,并进行基本的设置。 大部分情况下,至此你就可以正常地使用一个中文输入法了。 在早期的一些教程中,会强调在X环境变量(例如~/.xprofile,~/.xinitrc,~/.xinputrc )中声明环境变量来保证输入法正常启动。实际上没有必要。 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=”@im=fcitx” 现在的发行版喜欢用软链接来管理设定,系统读取的位置不变(认准软链接),用户设定时改变软链接的实际指向,这是一个漂亮的解耦做法。如果你开发过跨平台跨环境的应用,就知道兼容适配有多麻烦,一个简单易行的方案有多宝贵。 来看看Fedora20里面是怎么做的。 所以当你用标准姿势安装并设定过输入法,最后是可以通过软链接指向正确关联。 反正 /etc/X11/xinit/xinitrc.d/50-xinput.sh 启动脚本认准了/etc/X11/xinit/xinputrc 如果你不顺利,在运行im-chooser的时候出现了错误。 内容大概是 GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._imsettings_2derror_2dquark.Code5: Current desktop isn’t targeted by IMSettings. 不要着急,Linux的易用性虽然还是有差距,但是一直保持有详细错误日志的优良传统。 在 ~/.cache/imsettings/log 看到关键错误日志如下: [ 1406594712.769015]: IMSettings-Daemon[7165]: INFO: Attempting to switch IM to FCITX [lang=en_US.utf8, update=true] org.gnome.settings-daemon.plugins.keyboard.active is true. imsettings is going to be disabled. 由于属性“org.gnome.settings-daemon.plugins.keyboard.active”当前的值是true,禁止了imsettings运行。 所以解决的方案很简单,在终端上将相关属性设置为false即可。 gsettings set org.gnome.settings-daemon.plugins.keyboard active false 类似的错误也可以通过同样的方法来解决,日志详尽,心中不慌。 如果不了解gsettings,可以参见gsettings简介及常用操作介绍 |
请发表评论