如果你现在使用的Centos(或其他Linux)系统目前还不能使用中文输入法,本文正式解决这个问题的。分2个层面:
- 通过vmware登录上虚拟机centos机器后无法输入中文;
- 无图形界面Centos场景:通过windows主机以xshel登录远程linux机器后,以设置DISPLAY让远程linux上的GUI图形界面(如gvim)返回到windows主机上的Xmanager-passive打开后,无法输入中文。
1. 通过vmware 登录上虚拟机centos机器后无法输入中文
执行命令locale(本地化环境查询):
环境变量LANG 必须等于zh_CN.UTF-8,才表示字体支持中文。否则的改为这个值。
查看系统支持的所有语言与编码:
临时修改LANG变量的值:export LANG="zh_CN.UTF-8" 或 export LANG="en_US.UTF-8",但机器重启后失效。
永久修改LANG的方法是:
vim /etc/locale.conf, 键入一行内容是:LANG="zh_CN.UTF-8" 然后重启即可。
接下来我们检查是否安装中文包,没有就安装,通过yum完成。
sudo yum install -y ibus ibus-pinyin ibus-libpinyin im-chooser
在终端输入ibus-setup 设置ibus中文输入法:
接下来设置应用程序添加输入法, 打开虚拟机桌面,在左上角,选择应用程序--->系统工具--->设置:
修改输入法切换快捷键的方法是通过 打开虚拟机桌面,在左上角,选择应用程序--->系统工具--->设置--->设备--->键盘,比如我们一般习惯用Ctrl+Space 作为linux下下一个输入法的切换键。
2. 无图形界面Centos场景:通过windows主机以xshel登录远程linux机器后,以设置DISPLAY让远程linux上的GUI图形界面(如gvim)返回到windows主机上的Xmanager-passive打开后,无法输入中文
如果你正在按这种方式使用虚拟机下的linux, 可能本机标题描述的事情一直在困扰你。通过windows主机以xshel登录远程linux机器后,以设置DISPLAY让远程linux上的GUI图形界面(如gvim)返回到windows主机上的Xmanager-passive打开后,无法输入中文。 解决方法如下:
- 确保安装sudo yum install -y ibus ibus-pinyin ibus-libpinyin im-chooser
- 在~/.bashrc 中加入如下几行:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
#imsettings-switch ibus
- 设置:在无图行界面的场景下(即通过ssh登录远程centos的场景,如果是直接登录vmware虚拟机执行im-chooser配置项要更丰富此一步骤不需要这样)启动im-chooser, 打开设置如下:
选择使用Ibus, 然后点击注销即Logout,下次再Login系统才能生效。怀疑这一步操作的效果和在命令行上执行 imsettings-switch ibus 效果是一样的,保险起见两个操作都执行一下。然后点击注销然后重新登录系统。有的时候如是操作后,右上角的输入法界面框还不出来,就需要命令行执行ibus-setup 然后将候选的输入法中删掉 英文只留1个拼音试试。 - 启动一个回显到windows主机上xmanager-passive的图形界面工具如gvim,右上角一定要能看到下图即表明中文输入法可以用:
切换方法是按下Shift键或光标点击右上角图表中的 “中” 或“英”字。(好像其他快捷键如CTRL+SPACE都失效,不去多管它,Shift键或光标点击够用就行。)
如果你发现按下shift键不能切换中英文输入法,那么设置方法如下,如下图所示:
至此就可以在回显到windows主机上xmanager-passive的图形界面工具如gvim/gedit或其他变成IDE如Clion/IDEA上输入中文了(因为编码过程中经常有需要输入中文的场景,比如中文注释等)。可见想要在这种场景下输入中文,机器安装了中文输入法还不行,还必须能调出右上角的中文输入法编辑对话框才可以。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。