适用环境:银河麒麟 V10(ARM 架构、UKUI 桌面),现象:任务栏已选择Pinyin输入法,打字仅输出英文、无候选词弹窗
Image.png
一、故障根因

执行环境变量查看命令:

echo $GTK_IM_MODULE
echo $QT_IM_MODULE
echo $XMODIFIERS

异常输出(故障状态):

gtk-im-context-simple
xim
@im=none

核心问题:IM 输入法环境变量没有指向 fcitx,桌面 GUI 程序不会调用 fcitx 输入法引擎,即使选中拼音也无法调出中文候选框。
标准正常值应为:

fcitx
fcitx
@im=fcitx

二、修复步骤

  1. 配置输入法环境变量(推荐用户级配置,无需改全局)

终端执行命令编辑登录加载配置文件

sudo gedit ~/.pam_environment

写入以下内容,保存并关闭编辑器:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

说明:不推荐仅写入.bashrc,该文件只对终端启动的程序生效,GUI 桌面软件不会读取。

  1. 注销用户会话(关键步骤,不可跳过)

⚠️ 注意:单纯关闭终端、执行exit不会重载桌面环境变量,必须注销图形会话

图形方式:左下角开始菜单 → 电源选项 → 注销,重新输入密码登录当前用户

终端命令方式(UKUI 桌面专用):

ukui-session-quit --logout

兜底方案:若注销命令异常,可直接重启系统 sudo reboot

  1. 登录后校验环境变量

重新登录桌面后,再次执行校验命令

echo $GTK_IM_MODULE
echo $QT_IM_MODULE
echo $XMODIFIERS

确认输出和标准值一致。

  1. 重启 fcitx 输入法服务(可以不用)

    killall fcitx && fcitx -d
  2. 测试输入

打开文本编辑器,激活输入框
输入法选择Pinyin,按下 Ctrl+空格 切换中英文
输入拼音,验证候选词弹窗是否正常出现

cef48e44a943adbe5ca35415df2f04f9.png

三、兜底修复(仍无效时执行)

① 安装缺失 fcitx 前端插件(ARM 架构常见精简镜像缺包)

sudo apt update
sudo apt install fcitx-pinyin fcitx-frontend-qt5 fcitx-frontend-gtk3 fcitx-configtool

② 重置 fcitx 损坏配置

mv ~/.config/fcitx ~/.config/fcitx.bak
killall fcitx
fcitx &

重置后重新添加 Pinyin 输入法再测试。

四、补充说明

  • 区分场景:sudo/root权限启动的程序默认不继承普通用户 IM 环境变量,属于正常机制
  • 工具:图形化 fcitx 配置面板可执行 fcitx-configtool 调出,用于增删输入法、自定义快捷键
  • 快速排查顺序总结:
    环境变量修正 → 注销重登 → 校验变量 → 重启 fcitx → 测试中文

如果没有安装,可以用以下脚本先安装fcitx。
fix_fcitx.zip