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

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

相关推荐
comedate27 分钟前
[TypeScript] TypeScript 学习从入门到精通
ubuntu·typescript·前端语言
gsls2008082 小时前
ubuntu安装HermesAgent接入Nous平台小米大模型和微信通道配置
ubuntu·hermesagent·小米大模型
木子欢儿3 小时前
Ubuntu 24.04 执行超微服务器 JNLP 程序
linux·运维·服务器·ubuntu
橘子编程15 小时前
JavaScript与TypeScript终极指南
javascript·ubuntu·typescript
12345,catch a tiger17 小时前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
辰风沐阳17 小时前
OpenClaw 安装教程(Ubuntu 24.04 Desktop)
linux·ubuntu
六点的晨曦20 小时前
VMware安装Ubuntu的记录
linux·ubuntu
问简21 小时前
ubuntu 字体相关问题
运维·服务器·ubuntu
勤自省1 天前
ros生态系统
ros
沐雪轻挽萤1 天前
无人系统:Ubuntu 操作系统全景架构与实战工程指南
linux·运维·ubuntu