1. 程式人生 > >Ubuntu 17.04系統中QT5.9.2支援fcitx輸入法的解決方案

Ubuntu 17.04系統中QT5.9.2支援fcitx輸入法的解決方案

本人在Ubuntu 17.04系統中安裝了QT 5.9.2,自帶Qt Creator 4.4.1,各方面用著都挺順手,但有一次突然發現在Qt Creator中和使用QT編譯的程式執行時均不能使用Ubuntu系統自帶的fcitx輸入法。上網一查,原來是因為fcitx輸入法不相容QT。

網上一些過時文章,介紹的方法一般如下(如果照著做,肯定沒有任何效果):

使用sudo apt-get install命令安裝fcitx-libs-qt5,在計算機中搜索libfcitxplatforminputcontextplugin.so檔案(安裝時如果不改變路徑,一般為:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so),將該檔案複製到Qt安裝目錄下的platforminputcontexts子目錄中((注意:不同Qt版本的安裝路徑可能不相同,例如:在我的機器上,Qt 5.9.2的安裝路徑為:

/opt/Qt5.9.2/5.9.2,而Qt 5.10.0的安裝路徑則為:${HOME}/Qt5.10.0/5.10.0/,其中${HOME}是我的home目錄。因此,需要你自己正確查詢Qt的安裝位置,這裡以Qt 5.9.2為例:/opt/Qt5.9.2/5.9.2/gcc_64/plugins/platforminputcontexts),重新使用Qt編譯的程式就能正常使用fcitx輸入法;將libfcitxplatforminputcontextplugin.so檔案複製QtCreator安裝目錄下的platforminputcontexts子目錄中(安裝時如果不改變路徑,一般為:/opt/Qt5.9.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts),重啟QtCreator就可以正常使用fcitx輸入法。

舊辦法失效的原因在於使用apt-get install命令安裝的fcitx-libs-qt5版本太老,自帶的libfcitxplatforminputcontextplugin.so 與Qt 5.4以後的版本不相容,因而需要重新編譯fcitx-qt5,編譯方法如下:

1. 安裝依賴庫

sudo apt-get install cmake fcitx-libs-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-dev


2. 設定Qt環境變數(注意:不同Qt版本的安裝路徑可能不相同,例如:在我的機器上,Qt 5.9.2的安裝路徑為:/opt/Qt5.9.2/5.9.2,而Qt 5.10.0的安裝路徑則為:${HOME}/
Qt5.10.0/5.10.0/,其中${HOME}是我的home目錄。因此,需要你自己正確查詢Qt的安裝位置)


echo "export PATH=${HOME}/Qt5.10.0/5.10.0/gcc_64/bin:${PATH}" >> ~/.bashrc && source ~/.bashrc


3. 下載fcitx-qt5原始碼:

git clone https://github.com/fcitx/fcitx-qt5


4. 編譯安裝(我將fcitx-qt5原始碼下載到/home/davidhopper目錄中,這個需要根據自己的實際路徑加以更改)
cd /home/davidhopper/fcitx-qt5
cmake .

make

sudo make install

如果執行cmake . 時出錯,請參考https://my.oschina.net/lieefu/blog/505363中的方法加以解決。在我的電腦裡,就遇到了如下錯誤:

CMake Error at CMakeLists.txt:8 (find_package):
  Could not find a package configuration file provided by "ECM" (requested
  version 1.4.0) with any of the following names:
    ECMConfig.cmake
    ecm-config.cmake
  Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
  to a directory containing one of the above files.  If "ECM" provides a
  separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!

解決方法:

cd extra-cmake-modules-1.4.0
cmake .
make

sudo make install

之後,繼續執行第4步。

注意:安裝較新版本的WPS後,若在修改*.doc, *.xls, *.ppt等檔案時,無法使用中文輸入法,也是因為在WPS內部使用了Qt 5.4以上版本的控制元件所造成,只要順利完成第4步,重新開啟WPS程式後,就可以正常使用中文輸入法。

5.將fcitx-qt5/platforminputcontext/目錄下的libfcitxplatforminputcontextplugin.so 檔案複製到Qt安裝目錄下的platforminputcontexts子目錄中(安裝時如果不改變路徑,一般為:/opt/Qt5.9.2/5.9.2/gcc_64/plugins/platforminputcontexts),重新使用Qt編譯的程式就能正常使用fcitx輸入法;將libfcitxplatforminputcontextplugin.so檔案複製QtCreator安裝目錄下的platforminputcontexts子目錄中(安裝時如果不改變路徑,一般為:/opt/Qt5.9.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts),重啟QtCreator就可以正常使用fcitx輸入法,具體命令如下:

cd /opt/Qt5.9.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
sudo cp /home/davidhopper/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so .
sudo chmod 775 libfcitxplatforminputcontextplugin.so

cd /opt/Qt5.9.2/5.9.2/gcc_64/plugins/platforminputcontexts
sudo cp /home/davidhopper/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so .

sudo chmod 775 libfcitxplatforminputcontextplugin.so

參考資料:

1. http://www.cnblogs.com/xia-weiwen/p/6857237.html

2.https://my.oschina.net/lieefu/blog/505363


相關推薦

Ubuntu 17.04系統QT5.9.2支援fcitx輸入法解決方案

本人在Ubuntu 17.04系統中安裝了QT 5.9.2,自帶Qt Creator 4.4.1,各方面用著都挺順手,但有一次突然發現在Qt Creator中和使用QT編譯的程式執行時均不能使用Ubuntu系統自帶的fcitx輸入法。上網一查,原來是因為fcitx輸入法不相容

Ubuntu 16.04系統GCC 7.3編譯器安裝方法及C++17標準測試示例

2017年底,C++17標準正式頒佈,該標準的最大貢獻是,提供了STL庫演算法的並行運算版本,對於我這種喜歡追求演算法效能的程式設計師而言,無疑是一個極大的福音。幸運地是,Linux系統標準編譯器GCC能完美地支援C++ 17標準,但需升級到7.0以上版本;不幸

Ubuntu 16.04 安裝Go 1.9.2

下載: 官網下載 https://www.golangtc.com/download,選擇 Ubuntu 64版本(linux-amd64),我這裡下載的是:go1.9.2.linux-amd64.tar.gz 安裝: #解壓至系統目錄 (注意許可權) sudo tar -zxvf g

ubuntu 16.04下編譯Qt5.9.1

1.下載Qt原始碼:qt-everywhere-opensource-src-5.9.1.tar.xz 2.解壓 tar xvJf  qt-everywhere-opensource-src-5.9.1.tar.xz 3.切換到該目錄: ./configure -sta

Ubuntu 16.04系統利用CUDA安裝更新NVIDIA顯示卡驅動程式的方法

在ThinkPad系列膝上型電腦中使用過Ubuntu 16.04系統的同學都知道,NVIDIA顯示卡驅動程式特別難安裝。以我使用的ThinkPad P50s為例,顯示卡型號為:GM108GLM [Quadro K620M](可以在命令終端中使用lspci

Ubuntu 16.04解除安裝CUDA 9.2 和安裝CUDA 9.1

因為nvidia 驅動為390.67 與cuda 9.2 不匹配,無法使用,所以對cuda版本降級: 過程: 解除安裝cuda 9.2(可刪可不刪,不刪會保留cuda-9.2和cuda-9.1兩個資料夾) [email protected]:~$ cd /

Ubuntu 12.04系統安裝jdk和配置tomcat伺服器

Ubuntu自帶的jdk版本是OpenJDK,即如下圖所示:     為了完成老師佈置的J2EE作業,不得自己配置J2EE環境,要重新安裝JDK。第一次在linux環境下接觸這些東西,參考了許多的網上資源,最終還是成功了。下面就是具體的操作。 準備     我

Ubuntu 16.04系統基於OSM建立並執行SUMO網路模型

SUMO全稱Simulation of Urban Mobility,是一個開源、微觀、多模態交通模擬模擬軟體。 前一篇部落格《Ubuntu 16.04系統中SUMO安裝方法及簡單示例》已經介紹了SUMO的一個簡單示例,但那只是一個玩具,沒有任何實用價值

Linux學習篇之---Ubuntu 14.04 重啟後DNS配置丟失問題的解決方案

Ubuntu 14.04 重啟後DNS配置丟失問題的解決方案 每次修改DNS配置檔案 /etc/resolv.conf 重啟後就會失效。 從網上查知,這個檔案是動態建立,所以每次重啟都會被重寫,此檔案中也有警告: 所以我們不能直接修改這個檔案。 通過查資料得知兩種方式:

Ubuntu 14.04雙顯示卡(N+i)完美解決方案

看到貼吧裡有朋友抱怨ubuntu14.04安裝後發熱嚴重,滑鼠的游標閃爍,這裡說一下我的ubuntu14.04雙顯示卡完美解決方案(使用Nvidia Prime方案,開源,感覺比Bumblebee更完美) 一、把開源的 Nouveau 驅動加入黑名單、禁止啟動(因為我們要使用 Nvidia 的私有驅動,一山不

android自定義的dialog的EditText無法彈出輸入法解決方案

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);//彈出輸入法,並且寫在show()方法之後。 解決Dialog 消失,輸入法不消失的問題: 參考:https://blog.csd

ROS2GO之系統升級篇(Ubuntu 18.04 + ROS 1 Melodic + ROS 2 Bouncy + V-Rep等)

本教程風險極大,請不要輕易嘗試。當然此篇方法適用於任何想從Ubuntu 16.04升級到18.04(10年超長期支援)的使用者。 ----過程如下::---- [email protected]:~$ sudo apt update [e

Ubuntu 16.04系統Microsoft Common Objects in Context(COCO)資料集在Python環境的使用

Microsoft Common Objects in Context(簡寫COCO)資料集是微軟團隊提供的一個可以用來進行影象識別,分割,註解等開發工作的資料集。 該資料集主要有的特點如下:(1)Object segmentation(2)Recognition

Ubuntu16.04+QT5.9.2開發環境搭建

一 目的使用Ubuntu16.04LTS安裝QT5.9.2二 環境說明系統: Ubuntu16.04 LTS 軟體QT5.9.2下載地址:http://download.qt.io/official

win7 64系統Anaconda3.5.2安裝tensorflow和tensorflow-gpu、Ubuntu系統Anaconda安裝tensorflow和tensorflow-gpu

注意: 你的系統和安裝的Python都必須是64位,才支援Tensorflow,TensorFlow不支援32位! win64系統中Anaconda3.5.2中安裝tensorflow和tensorflow-gpu: Anaconda3.5.2中安裝tensorflow

Ubuntu 17.04缺失libssl.so.10的解決辦法

先保證SSL已經被安裝 sudo apt-get update sudo apt-get install libssl1.0.0 libssl-dev 建立軟連線 cd /lib/x86_64-l

ubuntu 16.04系統解決軟件依賴問題,如何在ubuntu安裝zlib和zlib-dev

.com 軟件 問題 ext png watermark ffffff ack eve 在ubuntu 16.04系統裏解決軟件依賴問題,一般情況可以依靠安裝aptitude軟件包來解決:(1)sudo apt-get install aptitude(2)sudo apt

在VirtualBox虛擬機器機安裝Ubuntu 18.04系統

    在虛擬機器中安裝Ubuntu系統,不會影響計算機原本的系統,即可以在原作業系統(如win10)下,通過VirtualBox這個開源軟體構建一個虛擬機器,並將Ubuntu的系統映象匯入虛擬機器中,就可以體驗和使用Ubuntu系統。該方法的優點是風險小,但體驗感受不佳。由

Ubuntu 17.04 搭建LAMP服務器環境流程

ins () 更改 lib tro code 文件 etc doc 安裝Apache2 安裝代碼 sudo apt-get install apache2 更改默認目錄 sudo vim /etc/apache2/apache2.conf // 將 <

ubuntu14.04系統virtualbox安裝Oracle VM VirtualBox Extension Pack包

默認 .so -m targe 控制 站點 clas data- ref ubuntu14.04系統中virtualbox默認不支持usb設備,須要安裝Oracle VM VirtualBox Extension Pack才行,但必須安裝下面版本號才幹夠成功安裝:Ora