ubuntu22.04安装中文输入法且与ros2与clion不冲突

ubuntu22.04安装中文输入法且与ros2与clion不冲突

安装中文输入法:

在 Ubuntu 22.04 上,要做到 中文输入法稳定可用,同时 不与 ROS 2、CLion(JetBrains 系)冲突:

✅ 唯一强烈推荐方案:Fcitx5 + 拼音 / Rime

❌ 不要用 ibus

❌ 不要混用 Fcitx4 / Fcitx5

下面一套 "ROS2 + CLion 实战验证过、几乎零冲突" 的完整方案。

一、为什么必须用 Fcitx5(而不是 ibus / Fcitx4)

1️⃣ ROS 2(rclcpp / Qt / rviz2)

rviz2 / rqt 基于 Qt

ibus 在 Qt + Wayland 下经常:

候选框不显示

输入法卡死

Fcitx5 原生支持 Wayland + Qt

2️⃣ CLion(JetBrains IDE)

CLion 使用 自带 JBR(JetBrains Runtime)

ibus 在 JBR 下:

中文输入随机失效

候选框乱位

Fcitx5 + XIM/Wayland IM 是官方推荐方案

二、干净安装(关键,避免冲突)

1️⃣ 卸载 ibus(非常重要)

bash 复制代码
sudo apt remove --purge ibus ibus-gtk ibus-gtk3

⚠️ 不卸载,后面 80% 会踩坑

二、Ubuntu 22.04 正确安装命令(请直接照抄)

✅ 1️⃣ 先更新索引

bash 复制代码
sudo apt update

✅ 2️⃣ 安装 Fcitx5 + 中文 + GTK/Qt 支持(正确版)

bash 复制代码
sudo apt install -y \
fcitx5 \
fcitx5-chinese-addons \
fcitx5-frontend-gtk3 \
fcitx5-frontend-qt5 \
fcitx5-config-qt

👉 这条命令 在 Ubuntu 22.04 是 100% 可用的

三、确认是否安装成功

1️⃣ 检查 fcitx5 是否存在

bash 复制代码
fcitx5 -v

2️⃣ 检查配置工具

bash 复制代码
fcitx5-configtool

能弹出图形界面 = 安装成功 ✅

四、接下来必须做的 3 件事(否则 ROS2 / CLion 还是会有坑)

1️⃣ 选择 fcitx5 作为系统输入法

bash 复制代码
im-config

选择:

👉 fcitx5

2️⃣ 设置环境变量(关键,解决 ROS2 + CLion)

bash 复制代码
gedit ~/.profile

在 末尾加入:

bash 复制代码
# Fcitx5 for ROS2 & CLion
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx

保存后执行:

bash 复制代码
source ~/.profile

3️⃣ 重启(必须)

bash 复制代码
reboot

五、配置中文输入法

bash 复制代码
fcitx5-configtool

注意:fcitx5-configtool 提示无法通过 DBus链接到Fcitx,点击运行。

点击 +

取消勾选 Only Show Current Language

添加 拼音 或 Rime

切换快捷键默认:

bash 复制代码
Ctrl + Space

六、如果你还遇到问题(我可以直接对症下药)

你现在这个环境我大概已经很清楚了:

✅ Ubuntu 22.04

✅ ROS2(你常用 rviz / gazebo)

✅ CLion

✅ Gazebo / Qt 程序

如果接下来出现:

rviz2 里不能打中文

CLion 候选框不跟光标

Gazebo 输入法失效

fcitx5启动脚本:

start-fcitx5.sh

bash 复制代码
#!/usr/bin/env bash

# ================================
# Fcitx5 startup script
# Ubuntu 22.04 / ROS2 / CLion safe
# ================================

echo "[fcitx5] checking..."

# 防止重复启动
if pgrep -x fcitx5 > /dev/null; then
    echo "[fcitx5] already running"
    exit 0
fi

# 必要环境变量(确保 Qt / GTK / CLion / ROS2)
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx

echo "[fcitx5] starting..."
fcitx5 -d

# 等待 DBus 就绪
sleep 1

# 验证
if pgrep -x fcitx5 > /dev/null; then
    echo "[fcitx5] started successfully"
else
    echo "[fcitx5] failed to start"
fi

把脚本加入到开机启动项里就实现开机自启动了:

相关推荐
qinyia2 小时前
通过本地构建解决Cartographer编译中absl依赖缺失问题
linux·运维·服务器·mysql·ubuntu
郝亚军2 小时前
ubuntu启一个udp server,由一个client访问
linux·ubuntu·udp
予枫的编程笔记3 小时前
【Linux入门篇】Linux入门不踩坑:内核、发行版解析+环境搭建全流程
linux·ubuntu·centos·vmware·xshell·linux入门·linux环境搭建
hampeter5 小时前
【填坑指南】Trae/VS Code 远程连接 Ubuntu,终端总是自动激活特定的 Conda 环境?三招教你彻底解决!
linux·ubuntu·conda·trae
Mr_liu_6665 小时前
ubuntu:beyond compare 4 This license key has been revoked——————转载拼接
linux·运维·ubuntu
划水的code搬运工小李6 小时前
Ubuntu下挂载NTFS格式磁盘
linux·运维·ubuntu
CS_Zero6 小时前
Ubuntu系统安装CH340&CH341串口驱动
linux·ubuntu
达子6667 小时前
Ubuntu的Gparted 无法扩展内存 报错umount: /sdb1: target is busy
linux·运维·ubuntu
奋斗者1号7 小时前
OpenClaw 部署方式对比:云端、WSL、Mac 本机、Ubuntu 虚拟机(2026年2月最新主流实践)
linux·ubuntu·macos
lyx49498 小时前
在 Win11 上用 Claude Code 接入 Gemini 模型(无需 WSL/Ubuntu)
linux·ubuntu·gemini模型·claude coode