Ubuntu14.04環境下Qt5.5以上版本無法輸入中文的解決教程
參考:https://www.cnblogs.com/gcl0909031172/p/8676470.html
1、前言
由於Qt5.4之後對之前的Qt5版本不再二進位制相容,所以網上很多簡單的舊的辦法已經失效了,所以本教程的辦法是重新編譯fcitx-qt5,生成最新的libfcitxplatforminputcontextplugin.so檔案。
2、準備工作
(1)安裝fcitx-frontend-qt5
很重要,很多教程裡面沒有這個,導致無法正常輸入中文註釋。不管這個有沒有效,建議安裝。
1 sudo apt-get install fcitx-frontend-qt5
(2)安裝CMake
由於後面編譯檔案的時候,對CMake有具體要求,因此在前面的時候直接將cmake升級到3.0以上。在這裡不建議採用原始碼編譯的方式進行,至於為什麼,那是因為太費事了,建議直接更新源升級即可。
1 sudo apt-get install software-properties-common
2 sudo add-apt-repository ppa:george-edison55/cmake-3.x
3 sudo apt-get update
4 sudo apt-get install cmake
注意:要一條條語句執行,整個過程可能需要一定時間,耐心等待即可。
(3)安裝 fcitx-libs-dev
1 sudo apt-get install fcitx-libs-dev
(4)安裝extra-cmake-modules_1.4.0
由於在編譯fcitx-qt5 原始碼時會報錯,所以必須在準備工作中安裝。
首先到網址:https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1中下載extra-cmake-modules_1.4.0.orig.tar.xz,然後解壓,再進行編譯安裝。
在編譯安裝之前需要先設定CMAKE_PREFIX_PATH的環境變數,具體設定有如下幾種可能:
①export CMAKE_PREFIX_PATH="/安裝路徑/Qt5.7.0/5.7/Src/qtbase/"
注意:這主要是針對Qt5.7版本。
②export CMAKE_PREFIX_PATH="/安裝路徑/Qt5.5.0/5.5/gcc_64/lib/cmake/"
根據自己的具體情況選擇,本教程使用的是第二種情況。
編譯安裝的命令如下:
1 cd extra-cmake-modules-1.4.0
2 cmake .
3 make
4 sudo make install
(5)安裝xkbcommon
由於在編譯fcitx-qt5 原始碼時會報錯,所以必須在準備工作中安裝。
首先到網址:http://xkbcommon.org/中下載最新的xkbcommon,本教程下載的是libxkbcommon-0.8.0.tar.xz,然後解壓,再進行編譯安裝。
編譯安裝的命令如下:
1 sudo apt-get install bison
2 cd libxkbcommon-0.8.0
3 ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --disable-x11
4 make
5 sudo make install
注意:如果在安裝的時候提示缺少OpenGL的標頭檔案,可以安裝一下以下的庫:
1 sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
3、下載fcitx-libs原始碼並編譯安裝
網上很多教程使用的是如下方法下載fcitx-libs原始碼:
1 git clone https://github.com/fcitx/fcitx-qt5
其下載的版本比較新,並不適合所有的操作環境,從而導致編譯的時候通不過,比如我的操作環境是:Ubuntu14.04 + Qt5.5.0,按照此方法下載的fcitx-libs原始碼版本,在編譯的過程中就沒有通過。
建議到網址:https://download.fcitx-im.org/fcitx-qt5/中去下載適合自己作業系統的fcitx-libs原始碼版本,本教程下載的是fcitx-qt5-1.1.1.tar.xz。
編譯安裝過程如下:
(1)先設定PATH的環境變數
1 export PATH="/安裝路徑/Qt5.5.0/5.5/gcc_64/bin":$PATH
(2)解壓
(3)編譯安裝
1 cd fcitx-qt5-1.1.1
2 cmake .
3 make
4 sudo make install
4、後續工作
(1)編譯好的libfcitxplatforminputcontextplugin.so在如下路徑:/home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so
將其拷貝到如下兩個路徑:
①/opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/
②/opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/
注意:第二個路徑對於Qt5.7來說應該是:/opt/Qt5.7.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
命令如下:
1 sudo cp /home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/
2
3 sudo cp /home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/
(2)提高檔案許可權,命令如下:
1 sudo chmod 777 /opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
2
3 sudo chmod 777 /opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
(3)配置環境變數,命令如下:
1 echo 'export [email protected]=fcitx' >> .bashrc
2 echo 'export QT_IM_MODULE=fcitx' >> .bashrc
最好確認下是否配置好,命令如下:
1 udo gedit .bashrc
在檔案的末尾檢視
(4)關機重啟。