Ubuntu 18.04 + Qt Creator 中文输入法终极解决
目录
- 前期准备:系统环境确认
- 第一步:完全卸载IBus,安装Fcitx4
- 第二步:安装Qt5输入法插件
- 第三步:复制输入法插件到Qt目录
- 第四步:解决桌面图标启动问题
- 第五步:解决终端启动问题
- 第六步:解决MobaXterm远程启动问题
- 验证所有场景
- 常见问题排查
1. 前期准备:系统环境确认
1.1 查看Ubuntu系统版本(最准确方法)
bash
lsb_release -a
输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
重点看Release字段 ,这就是你的Ubuntu版本号。

1.2 查看当前输入法框架
bash
echo $XMODIFIERS
- 输出
@im=ibus:当前使用IBus(建议卸载) - 输出
@im=fcitx:当前使用Fcitx4(推荐)

1.3 查找你的Qt安装路径(非常重要!必须自己确认)
官网下载的Qt安装路径不固定,不要假设路径,一定要自己找!
bash
# 查找Qt安装目录(只搜索/opt和/home,最大深度4层,速度更快)
sudo find /opt /home -maxdepth 4 -name "Qt*" -type d 2>/dev/null
输出示例:
/opt/Qt5.12.9
/opt/Qt5.12.9/5.12.9
/opt/Qt5.12.9/Tools

这说明我的Qt安装在/opt/Qt5.12.9,后面所有命令都要替换成你自己的路径。
2. 第一步:完全卸载IBus,安装Fcitx4
这是Ubuntu 18.04下的最优方案,Fcitx4的稳定性和Qt兼容性远优于IBus。
2.1 彻底卸载IBus(不留任何残留)
bash
# 强制卸载所有IBus相关包
sudo apt purge ibus ibus-gtk ibus-gtk3 ibus-qt4 ibus-qt5 ibus-clutter ibus-sunpinyin ibus-pinyin -y
# 自动清理所有残留依赖
sudo apt autoremove -y
sudo apt autoclean
# 删除IBus残留配置文件
rm -rf ~/.config/ibus ~/.cache/ibus
2.2 安装Fcitx4完整中文输入法环境
bash
# 更新软件源
sudo apt update
# 安装Fcitx4核心框架 + 谷歌拼音 + 云拼音 + 配置工具
sudo apt install fcitx fcitx-config-gtk fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-ui-classic -y
2.3 设置Fcitx4为系统唯一默认输入法框架
bash
im-config
执行后会弹出图形界面,严格按照以下步骤操作:
- 点击"确定"
- 选择"fcitx"(注意:Ubuntu 18.04没有官方fcitx5,不要选其他)
- 再次点击"确定"
- 系统会提示"需要注销才能生效",点击"确定"
2.4 注销并重新登录系统
这一步绝对不能跳过,否则输入法框架不会切换。
2.5 添加并配置中文输入法
- 右键点击系统托盘的键盘图标(Fcitx4图标)
- 选择"配置"
- 点击左下角的**"+"号**
- 取消勾选右上角的"只显示当前语言"
- 在搜索框输入"Google Pinyin"
- 选中"Google Pinyin",点击"确定"
- 使用右侧的上下箭头,将"Google Pinyin"移到第二位
- 关闭配置窗口

3. 第二步:安装Qt5输入法插件
bash
sudo apt install fcitx-frontend-qt5 -y
4. 第三步:复制输入法插件到Qt目录
4.1 先确认"翻译官"文件已经存在
bash
ls /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
✅ 如果输出了这个完整路径,说明文件存在,继续下一步
❌ 如果提示"没有那个文件或目录",先执行:sudo apt install fcitx-frontend-qt5 -y
4.2 复制插件到Qt Creator内部目录
将下面命令中的/opt/Qt5.12.9替换成你自己的Qt安装路径
bash
# 复制插件文件
sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.9/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
# 赋予可执行权限(必须执行!)
sudo chmod +x /opt/Qt5.12.9/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
4.3 复制插件到Qt编译环境目录(强烈建议)
(待验证)
5. 第四步:解决桌面图标启动问题
官网下载的Qt 5.12.9不会自动把启动器文件放到/usr/share/applications/,而是藏在它自己的安装目录里。
5.1 复制Qt自带的启动器文件到系统应用目录
bash
# 复制Qt自带的启动器文件
sudo cp /opt/Qt5.12.9/Tools/QtCreator/share/applications/org.qt-project.qtcreator.desktop /usr/share/applications/
5.2 编辑这个启动器文件添加环境变量
bash
sudo gedit /usr/share/applications/org.qt-project.qtcreator.desktop
5.3 修改Exec行(最重要的一步)
找到以Exec=开头的那一行,在qtcreator前面添加env QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
修改前:
ini
Exec=/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator %F
修改后:
ini
Exec=env QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator %F
5.4 保存文件并更新桌面数据库
bash
sudo update-desktop-database

6. 第五步:解决终端启动问题
Ubuntu 18.04的GNOME终端默认以"非登录Shell"启动,只会读取~/.bashrc文件。
6.1 编辑.bashrc文件
bash
gedit ~/.bashrc
6.2 添加环境变量
在文件最末尾 添加以下内容(建议要删除所有残留的ibus环境变量!):
bash
# Fcitx输入法环境变量
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
# Qt Creator路径(替换成你自己的路径)
export PATH=$PATH:/opt/Qt5.12.9/Tools/QtCreator/bin
6.3 让修改立即生效
bash
source ~/.bashrc

7. 第六步:解决MobaXterm远程启动问题
7.1 问题原因
MobaXterm远程SSH连接默认不会创建DBus会话,而Qt Creator和fcitx之间需要通过DBus通信。
7.2 一键启动命令
bash
# 杀死旧的fcitx进程
pkill fcitx
# 启动fcitx输入法
fcitx -d
# 用dbus-launch启动Qt Creator(创建DBus会话)
dbus-launch qtcreator
7.3 创建永久别名
bash
gedit ~/.bashrc
在文件末尾添加:
bash
# MobaXterm远程启动Qt Creator专用命令
alias qtcreator-remote='pkill fcitx; sleep 0.5; fcitx -d; sleep 0.5; dbus-launch qtcreator'
保存后生效:
bash
source ~/.bashrc
以后在MobaXterm中只需输入:
bash
qtcreator

7.4 MobaXterm客户端优化设置
- 打开MobaXterm -> Settings -> Configuration -> X11
- 确保以下选项已勾选:
- ✅ Enable X11 forwarding
- ✅ Use local X server
- 在
X11 remote access下拉菜单中选择Full - 点击
OK保存设置 - 关闭所有MobaXterm窗口,重新打开连接

8. 验证所有场景
8.1 本地桌面图标启动
- 从系统启动器打开Qt Creator
- 按
Shift+Space切换到中文输入法(自定义的)
- 在代码编辑器中测试输入中文
8.2 本地终端启动
- 打开终端
- 输入
qtcreator启动 - 测试中文输入
8.3 MobaXterm远程启动
- 打开MobaXterm连接到Ubuntu
- 输入
qtcreator-remote启动 - 测试中文输入
9. 常见问题排查
9.1 插件加载问题排查(最常用)
如果Qt Creator还是无法输入中文,用这个命令查看插件加载日志:
bash
# 自动启动Qt Creator并只显示和fcitx相关的日志
export QT_DEBUG_PLUGINS=1 && /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator 2>&1 | grep -i fcitx
正常输出应该是:
QFactoryLoader::QFactoryLoader() looking at "/opt/Qt5.12.9/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so"
Found metadata in lib /opt/Qt5.12.9/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so, metadata=
"fcitx"
"className": "QFcitxPlatformInputContextPlugin",
Got keys from plugin meta data ("fcitx")
如果看到Cannot load library错误,说明插件版本不兼容或路径错误。
9.2 其他常见问题
- 终端启动可以,桌面图标启动不行 :检查启动器文件中的
Exec=行是否正确,执行sudo update-desktop-database - 本地可以,远程不行 :确保使用
dbus-launch启动,检查MobaXterm的X11设置 - 系统托盘没有输入法图标 :手动执行
fcitx -d启动
如果这篇文章对你有帮助,欢迎点赞、收藏、关注!有任何问题可以在评论区留言,我会一一回复。