Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程
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以上版本无法输入中文的解决教程的更多相关文章
- ubuntu14.04环境下spyder的安装
在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3. 首先安装为pyth ...
- disconf系列【1】——百度disconf在ubuntu14.04环境下的安装
disconf官网给出的安装文档默认读者已经非常熟练本文1.2章节给出的依赖软件的原理及使用方法,且官网默认安装环境为linux(windows安装方法只字未提).同时,官网对很多重要的细节语焉不详, ...
- ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
- Ubuntu14.04环境下配置TFTP服务器
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- Suricata在ubuntu14.04环境下安装
简介 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领 ...
- Ubuntu14.04环境下java web运行环境搭建
1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...
- Ubuntu14.04环境下Samba报错排错过程
排错的方法和思路非常重要,日志非常非常非常非常重要!!! 搭建好Samba之后,windos访问一直下面这个错误,然后傻逼一样一直百度百度,一弄又是几天,但是经过自己一步一步的排错,弄成功之后,那心情 ...
- ubuntu下安装搜狗输入法以及出现不能输入中文的解决办法
1. 官网下载安装包 http://pinyin.sogou.com/linux/?r=pinyin 下载你需要的版本,这里选择64位版. 2. 进入软件中心安装 3. 修改ibus为fcitx im ...
- Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)
(注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一 搭建环境: 1 Ubuntu16.04版本(系 ...
随机推荐
- 在 DotNetty 中实现同步请求
一.背景 DotNetty 本身是一个优秀的网络通讯框架,不过它是基于异步事件驱动来处理另一端的响应,需要在单独的 Handler 去处理相应的返回结果.而在我们的实际使用当中,尤其是 客户端程序 基 ...
- PCB 线路铜皮面积(残铜率)计算的实现方法
一个多月没更新博客园了,这里继续分享关于PCB工程相关一些知识,做过PCB工程都知道用使用genesis或incam是可以非常方便的计算得到铜皮面积这个参数[下图],但实际这个软件是通过什么算法计算出 ...
- E20180425-hm
zoom n. 变焦; 嗡嗡声; 隆隆声; (车辆等) 疾驰的声音; deprecate vt. 不赞成,不推荐, 反对;
- hdoj5024【BFS/暴力】
题意: 在可以行走的区域内,只能转一次90度的弯,问你最长这条路可以多长. 思路: 我们可以看到 /* 123 8 4 765 */ 转90度的路径会是横竖,也就是1-3-5-7; 还有斜的:2-4- ...
- bzoj 1187: [HNOI2007]神奇游乐园【插头dp】
要判边界!!要判边界!!要判边界!!if(j!=m)!!! 我真是zz横着转移要判断到底能不能向右边出边-- 然后剩下的和1814差不多,九十因为不要求经过所有格子,所以左右括号随时可以合并,但是注意 ...
- SequoiaDB、SequoiaSQL、Cloudera Manager4.8.0、Cloudera CDH4.5 详细安装教程
1安装SequoaiDB集群 1.1配置信任关系 以root用户执行下面的操作 1 执行命令 ssh-keygen 然后一直回车确定即可 2 每台机器都打开id_rsa.pub文件 vi ~/.ssh ...
- Luogu P4933 大师【dp】By cellur925
题目传送门 题目大意:给你一个序列,求子序列为等差数列的子序列个数.序列长度$n<=2000$,最高的塔高$v<=20000$. 这种计数类的题,大概就是dp的套路了⑧.开始设计的是一个错 ...
- 远程报:这可能是由于credssp加密oracle修正
此错误解决办法 1.Win+R 输入regedit打开注册表 找到对应的以下目录HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion ...
- _bzoj1257 [CQOI2007]余数之和sum【小技巧】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1257 最近刚做了一道莫比乌斯的题,需要用到这种方法. 应该让k / i相等的一连串k % i ...
- CF778A(round 402 div.2 D) String Game
题意: Little Nastya has a hobby, she likes to remove some letters from word, to obtain another word. B ...