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

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

相关推荐
Code_LT21 小时前
【AIGC】Claude Code Rules配置
linux·ubuntu·aigc
TroubleMakerQi1 天前
[虚拟机环境配置]07_Ubuntu中安装vscode教程
linux·人工智能·vscode·ubuntu
ken22321 天前
在ubuntu终端里, 怎样让历史不要记录本条命令:禁止记录包含密码之类的命令
linux·运维·ubuntu
i建模1 天前
Ubuntu系统中安装NVIDIA驱动
linux·运维·ubuntu
张3蜂1 天前
Ubuntu Linux 与 Ubuntu with Rosetta:深入解析两者的区别与适用场景
linux·运维·ubuntu
廿一夏1 天前
搭建Ubuntu 虚拟机与部署docker
linux·ubuntu·docker
千里马-horse1 天前
ubuntu 电脑安装protoc-gen-grpc-kotlin
linux·运维·ubuntu
柯儿的天空1 天前
【OpenClaw 全面解析:从零到精通】第 004 篇:OpenClaw 在 Linux/Ubuntu 上的安装与部署实战
linux·人工智能·ubuntu·elasticsearch·知识图谱
开开心心就好1 天前
免费无广告的礼金记账本,安卓应用
java·前端·ubuntu·edge·pdf·负载均衡·语音识别
佳木逢钺1 天前
ROS Noetic 中自定义编译和替换 cv_bridge 的完整指南
人工智能·bash·ros