[解决方案] Ubuntu 16.04 下 Qt 5.6 无法输入中文的问题
0. 环境
系统:ubuntu 16.04 LTS
机子:dell xps13
1. 步骤
1.1 编译 fcitx-qt5 源码
- 编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过;
sudo apt-get install cmake
- 安装 fcitx-libs-dev;
sudo apt-get install fcitx-libs-dev
- 设置qmake的环境变量,这一步很重要且环境变量的值因人而异
3.1. 首先确定你的Qt的安装目录,我这里是~/software/Qt5.6.0/
,你的或者可能在/home/<用户名>/Qt5.6.0/
3.2. export PATH="<Qt安装目录>/5.6/gcc_64/bin":$PATH - 下载fcitx-libs 源码
4.1. 原文的git clone git@github.com:fcitx/fcitx-qt5.git
不可行,需要修改为https://github.com/fcitx/fcitx-qt5
4.2.git clone https://github.com/fcitx/fcitx-qt5
- 编译 fcitx-qt5
cd fcitx-qt5
cmake .
make
sudo make install
1.2. 拷贝 so 文件
- 编译完成后,需要把编译得到的
libfcitxplatforminputcontextplugin.so
拷贝到 Qt5.5 安装目录的Tools/QtCreator/bin/plugins/platforminputcontexts
或 Qt5.6 安装目录的Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
,注意:两个目录根据你的Qt版本而定,Qt安装目录因人而异。 - 复制:
Qt 5.5:cp platforminputcontext/libfcitxplatforminputcontextplugin.so <Qt安装目录>/Tools/QtCreator/bin/plugins/platforminputcontexts
Qt 5.6:cp platforminputcontext/libfcitxplatforminputcontextplugin.so <Qt安装目录>/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
我这里是:cp platforminputcontext/libfcitxplatforminputcontextplugin.so ~/software/Qt5.6.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
1.3 添加额外的环境变量
echo 'export XMODIFIERS=@im=fcitx' >> .bashrc
echo 'export QT_IM_MODULE=fcitx' >> .bashrc
大功告成!
2. 遇到的问题
说明:本人系统为
Ubuntu 16.04 LTS 英文版
,遇到的问题基本和原文一样
2.1 安装CMake失败
- 问题描述:
sudo apt-get install cmake
执行到 92 % 时提示下载失败,原因是找不到 IP 地址。 - 问题解决:觉得应该是安装包源的问题,于是修改了系统默认的源。
System Settings -> Software & Updates -> Ubuntu Software -> Download from
从原来的 China 改为 Main server,最后再
sudo apt-get update
sudo apt-get install cmake
2.2 CMake 错误
- 问题描述:
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!
- 解决方法:
2.1. 到这个页面 https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1 下载 extra-cmake-modules_1.4.0.orig.tar.xz
2.2. 解压后编译安装
cd extra-cmake-modules-1.4.0
cmake .
make
sudo make install
2.3 安装 extra-cmake-modules-1.4.0 失败
- 问题描述:
$:~/Downloads/extra-cmake-modules-1.4.0$ cmake .
CMake Warning at tests/CMakeLists.txt:28 (find_package):
Could not find a package configuration file provided by "Qt5LinguistTools"
with any of the following names:
Qt5LinguistToolsConfig.cmake
qt5linguisttools-config.cmake
Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
set "Qt5LinguistTools_DIR" to a directory containing one of the above
files. If "Qt5LinguistTools" provides a separate development package or
SDK, be sure it has been installed.
-- Looking for Sphinx Documentation Builder...
-- Sphinx Documentation Builder not found - documentation will not be built (see http://sphinx-doc.org/)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/cposture/Downloads/extra-cmake-modules-1.4.0
- 解决方法:
设置CMAKE_PREFIX_PATH
环境变量 为qtbase
目录(<Qt安装目录>/5.6/Src/qtbase/
),我这里为:
export CMAKE_PREFIX_PATH="~/software/Qt5.6.0/5.6/Src/qtbase/"
如果还是不行,则修改为
export CMAKE_PREFIX_PATH="/home/cposture/software/Qt5.6.0/5.6/gcc_64/lib/cmake/"
2.4 缺少 xkbcommon 包
- 问题描述:
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- Could NOT find XKBCommon_XKBCommon (missing: XKBCommon_XKBCommon_LIBRARY XKBCommon_XKBCommon_INCLUDE_DIR)
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find XKBCommon (missing: XKBCommon_LIBRARIES XKBCommon) (Required is at least version "0.5.0")
- 解决方法:
2.1. 到http://xkbcommon.org/
下载最新版的xkbcommon
2.2. 解压后,
sudo apt-get install bison
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --disable-x11
make
sudo make install
原文链接:http://www.cnblogs.com/cposture/p/5397694.html
参考:http://my.oschina.net/lieefu/blog/505363?p=1
[解决方案] Ubuntu 16.04 下 Qt 5.6 无法输入中文的问题的更多相关文章
- Ubuntu 16.04 下使用Xampp
Ubuntu 16.04 下使用Xampp 什么是Xampp? XAMPP(Apache+MySQL+PHP+PERL) 是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAMPP,但是为了避 ...
- Ubuntu 16.04下使用Eclipse:创建工程时卡死的解决方法
问题如下: Ubuntu 16.04下使用Eclipse创建工程时出现卡顿和卡死,新建一个MapReduce项目卡了一下午,鼠标变成了圆圈进度条转了一下午,还关不掉. 当我直接去关闭新建项目的窗口时, ...
- Ubuntu 16.04 下简单安装使用golang之备忘
刚开始学习Go语言,这里记录下我在Ubuntu 16.04下安装使用golang的过程,方便以后查询. 一.安装 1.添加源 如果使用默认的源安装golang的话,版本太低,只到1.6 ...
- Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】
本文转载自:http://www.linuxdiyf.com/linux/24086.html Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用 发布时间:2016-09 ...
- Ubuntu 16.04下编译安装Apache2.4和PHP7结合
Ubuntu 16.04下编译安装Apache2.4和PHP7结合,并安装PDOmysql扩展. 1.编译安装apache2.4.20 1 第一步: ./configure --prefix=/usr ...
- Ubuntu 16.04下安装MacBuntu 16.04 TP 变身Mac OS X主题风格
Ubuntu 16.04下安装MacBuntu 16.04 TP 变身Mac OS X主题风格 sudo add-apt-repository ppa:noobslab/macbuntu sudo a ...
- Ubuntu 16.04下的LAMP环境配置
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...
- Ubuntu 16.04下为Android编译OpenCV 3.2.0 Manager
http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/ 最近想在Android上尝试一下SIFT和SURF匹配算 ...
- ubuntu 16.04下搜狗输入法不能输入中文解决
之前一段时间正常使用的搜狗输入法突然无法输出中文(具体现象是,可以呼出搜狗输入法界面,但是候选词列表无显示),解决之后记录下来,希望能为同样遇到这个问题的人提供参考.同时附linux下常见软件崩溃问题 ...
随机推荐
- golang 内存模型
1,是什么 是一套规范.内存操作指导 解决多线程编程的 程序的 原子性,有序性,可见性(主要)的问题. 多核操作系统,会存在缓存不一致的情况,说到底是一个同步的问题. 2, 内容 内存模型,除了定义了 ...
- 20175324 2018-2019-2 《Java程序设计》第5周学习总结
20175324 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 抽象类和具体类的区别在于抽象类中有抽象方法而具体类中没有.且抽象类不能实例化. 接口:如果一 ...
- 批量引用iconfont字体图标到项目
打开https://www.iconfont.cn/网址登录后选择你需要的图标添加到购物车中 点击下载代码或者添加到项目后再下载代码,再找到之前下载的的文件,拷贝到项目中
- Java课程之团队开发(团队介绍)
一.介绍团队和团队成员 团队名称:凯域软创 团队成员介绍:张某某,崔某某,焦某某,陈某 二.关于团队作品 1.作品名称:课程表 2.你的创意解决了用户的什么需求:查看课程信息的需求 3.你有什么招数用 ...
- 最小生成树 kruskal算法&prim算法
(先更新到这,后面有时间再补,嘤嘤嘤) 今天给大家简单的讲一下最小生成树的问题吧!(ps:本人目前还比较菜,所以最小生成树最后的结果只能输出最小的权值,不能打印最小生成树的路径) 本Tianc在刚学的 ...
- 关于使用jquery对input中type为radio的标签checked属性的增加与移除
需求:对radio的checked属性先消除然后进行重新设置: 初步方案: $("auForm input :radio[value='0']").removeAttr('chec ...
- 微信小程序 open-data更改样式 open-data 显示头像 圆形
废话不多说,直接看效果: 效果一: 代码如下: <view class='zhubo'> <view class='zhuboLeft'> <view class='zh ...
- Centos7 Nginx开机启动
1.简易安装nginx: ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf ...
- github pages + Hexo + node.js 搭建属于自己的个人博客网站
之前我写过一篇用Github实现个人主页的博客:https://www.cnblogs.com/tu-0718/p/8081288.html 后来看到某个大佬写的文章:[5分钟 0元搭建个人独立 ...
- [Swift]LeetCode285. 二叉搜索树中的中序后继节点 $ Inorder Successor in BST
Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th ...