1、前言

由于Qt5.4之后对之前的Qt5版本不再二进制兼容,所以网上很多简单的旧的办法已经失效了,所以本教程的办法是重新编译fcitx-qt5,生成最新的libfcitxplatforminputcontextplugin.so文件。

2、准备工作

(1)安装fcitx-frontend-qt5

很重要,很多教程里面没有这个,导致无法正常输入中文注释。不管这个有没有效,建议安装。

 sudo apt-get install fcitx-frontend-qt5

fcitx-frontend-qt5

(2)安装CMake

由于后面编译文件的时候,对CMake有具体要求,因此在前面的时候直接将cmake升级到3.0以上。在这里不建议采用源码编译的方式进行,至于为什么,那是因为太费事了,建议直接更新源升级即可。

 sudo apt-get install software-properties-common
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt-get update
sudo apt-get install cmake

CMake

注意:要一条条语句运行,整个过程可能需要一定时间,耐心等待即可。

(3)安装 fcitx-libs-dev

 sudo apt-get install fcitx-libs-dev

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/"

根据自己的具体情况选择,本教程使用的是第二种情况。

编译安装的命令如下:

 cd extra-cmake-modules-1.4.0
cmake .
make
sudo make install

extra-cmake-modules_1.4.0

(5)安装xkbcommon

由于在编译fcitx-qt5 源码时会报错,所以必须在准备工作中安装。

首先到网址:http://xkbcommon.org/中下载最新的xkbcommon,本教程下载的是libxkbcommon-0.8.0.tar.xz,然后解压,再进行编译安装。

编译安装的命令如下:

 sudo apt-get install bison
cd libxkbcommon-0.8.0
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --disable-x11
make
sudo make install

xkbcommon

注意:如果在安装的时候提示缺少OpenGL的头文件,可以安装一下以下的库:

 sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev

OpenGL

3、下载fcitx-libs源码并编译安装

网上很多教程使用的是如下方法下载fcitx-libs源码:

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

下载fcitx-libs源码

其下载的版本比较新,并不适合所有的操作环境,从而导致编译的时候通不过,比如我的操作环境是: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的环境变量

 export PATH="/安装路径/Qt5.5.0/5.5/gcc_64/bin":$PATH

设置PATH的环境变量

(2)解压

(3)编译安装

 cd fcitx-qt5-1.1.1
cmake .
make
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/

命令如下:

 sudo cp /home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/

 sudo cp  /home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/

拷贝库文件

(2)提高文件权限,命令如下:

 sudo chmod 777 /opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

 sudo chmod 777 /opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

提高文件权限

(3)配置环境变量,命令如下:

 echo 'export XMODIFIERS=@im=fcitx' >> .bashrc
echo 'export QT_IM_MODULE=fcitx' >> .bashrc

配置环境变量

最好确认下是否配置好,命令如下:

 udo gedit .bashrc

确认是否配置好

在文件的末尾查看

(4)关机重启。

后记:欢迎各路大神批评指正!

2018.3.30

Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程的更多相关文章

  1. ubuntu14.04环境下spyder的安装

    在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3. 首先安装为pyth ...

  2. disconf系列【1】——百度disconf在ubuntu14.04环境下的安装

    disconf官网给出的安装文档默认读者已经非常熟练本文1.2章节给出的依赖软件的原理及使用方法,且官网默认安装环境为linux(windows安装方法只字未提).同时,官网对很多重要的细节语焉不详, ...

  3. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  4. Ubuntu14.04环境下配置TFTP服务器

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  5. Suricata在ubuntu14.04环境下安装

    简介 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领 ...

  6. Ubuntu14.04环境下java web运行环境搭建

    1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...

  7. Ubuntu14.04环境下Samba报错排错过程

    排错的方法和思路非常重要,日志非常非常非常非常重要!!! 搭建好Samba之后,windos访问一直下面这个错误,然后傻逼一样一直百度百度,一弄又是几天,但是经过自己一步一步的排错,弄成功之后,那心情 ...

  8. ubuntu下安装搜狗输入法以及出现不能输入中文的解决办法

    1. 官网下载安装包 http://pinyin.sogou.com/linux/?r=pinyin 下载你需要的版本,这里选择64位版. 2. 进入软件中心安装 3. 修改ibus为fcitx im ...

  9. Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)

    (注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一  搭建环境: 1 Ubuntu16.04版本(系 ...

随机推荐

  1. E20170510-hm

    prototype  n.     原型,雏形,蓝本; omit (omitted)  vt.     省略; 遗漏; autonomous  adj.     自治的; 有自主权的; fold   ...

  2. Windows 下openssl安装与配置

    编译thirift失败 网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功. 环境 WIN7, 64位, vs2005 下载ActivePerl 配置过程中需 ...

  3. 退出ACM?

    我不知道为什么我有这样的想法,纵观CCCC,太弱太弱,再不把自己埋起来,狠起来,就真的非常菜了,去刷难题吧!我不管老郭的数据,只管自己的实力,每天三道难题CF的C题+总结.以及刷水题!!!(刷CF的B ...

  4. python __builtins__ complex类 (13)

    13.'complex', 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数.如果第一个参数为字符串,则不需要指定第二个参数. class complex(ob ...

  5. bzoj 4551: [Tjoi2016&Heoi2016]树【并查集】

    看起来像是并查集,但是是拆集合,考虑时间倒流,先把标记都打上,然后把并查集做出来 每次到一个修改点就把这个点的计数s[u]--,当这个s为0时就把这个点和他的父亲合并(因为可能有多次标记) #incl ...

  6. mysql查询所有表名

    mysql使用sql查询表名的两种方法: 1.show tables; 2.SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WH ...

  7. 借教室 线段树and二分

    描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望 ...

  8. AJPFX总结内部类

    内部类:内部类的访问规则:1. 内部类可以直接访问外部类中的成员,包括私有   原因是内部类中持有了一个外部类的引用,格式:外部类.this2. 外部类要访问内部类,必须建立内部类对象访问格式:1.  ...

  9. AJPFX总结Java 程序初始化过程

    觉得Core Java在Java 初始化过程的总体顺序没有讲,只是说了构造器时的顺序,作者似乎认为路径很多,列出来比较混乱.我觉得还是要搞清楚它的过程比较好.所以现在结合我的学习经验写出具体过程: 过 ...

  10. leetcode315 Count of Smaller Numbers After Self

    思路: bit + 离散化. 实现: #include <bits/stdc++.h> using namespace std; class Solution { public: int ...