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

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

相关推荐
感觉不怎么会17 小时前
ubuntu - 搭建TR069平台问题(Open ACS)
linux·运维·ubuntu
HIT_Weston17 小时前
96、【Ubuntu】【Hugo】搭建私人博客:搜索功能(一)
linux·运维·ubuntu
修炼室18 小时前
在 Windows 上构建不占 C 盘的科研级 WSL 实验环境(Ubuntu 22.04)
c语言·windows·ubuntu
HABuo18 小时前
【linux进程控制(一)】进程创建&退出-->fork&退出码详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
EndingCoder18 小时前
高级类型:联合类型和类型别名
linux·服务器·前端·ubuntu·typescript
Jet_5818 小时前
Ubuntu 桌面版 Wireshark 抓包权限不足问题解决指南
linux·ubuntu·wireshark
大鹅同志19 小时前
Ubuntu 20.04使用MB-System分析与可视化EM3000数据
数据库·3d·ros·slam·mb-system
想唱rap20 小时前
MySQL表得内外连接
服务器·数据库·c++·mysql·ubuntu
A7bert77720 小时前
【DeepSeek R1部署至RK3588】RKLLM转换→板端部署→局域网web浏览
c++·人工智能·深度学习·ubuntu·自然语言处理·nlp
Agilex松灵机器人20 小时前
持续更新|第十七弹:用LIMO复现一篇IEEE论文
人工智能·ros·定位导航·模型·路径规划·ieee·rda