如果你現在使用的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上輸入中文了(因為編碼過程中經常有需要輸入中文的場景,比如中文註釋等)。可見想要在這種場景下輸入中文,機器安裝了中文輸入法還不行,還必須能調出右上角的中文輸入法編輯對話框才可以。