WPS 等等软件无法切换中文输入 (Locale导致)

更换 Manjaro Linux 的原因

由于工作机器用 ubuntu 已经快8年了, 版本已经很旧, 升级方式不喜欢, 因此换了一个滚动升级的 Linux .
调研了一下, 选了 Arch Linux, 从头开始装, 装完了感觉有点累.
后来选择了 Manjaro Linux, 确实省心, 不过这不是今天的重点.

今天主要记录一下 Manjaro 下 wps 和 idea 等工具无法切换中文输入法的问题.

设置 XMODIFIERS 和 QT_IM_MODULE 不起作用

使用 Linux 和 fcitx 的同学都知道, 碰到无法切换中文的情况, 一般需要设置 IM 相关的 env .

Arch Wiki 上也写了:

Fcitx imput method framework can't input on WPS
add following lines to /usr/bin/wps /usr/bin/et /usr/bin/wpp seperately to add fcitx to Writer, Spreadsheet and Presentation:

export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE="fcitx"

但是, 这次 Manjaro 上安装 wps, 并且设置以上 env 之后, 仍然无法切换中文输入, 但其他工具(如 chrome 和 xmind)却可以输入中文, 这就很奇怪了.

排查

google 一下之后没有找到类似情况, 于是重新整理思路, 开始 review 自己的环境和特别的地方.
和中文相关的设置, 首先想到我的系统默认语言都是 en_US.UTF-8(安装了中文包).
试着用 Settings Manager 系统工具修改为 zh_CN.UTF-8 , 但仍然无效, 在 Terminal 上 locale 命令结果显示目前仍是英文的:

➜  locale
LANG=en_US.utf8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

只好手工设置 locale 了. 由于我习惯英文环境, 只是想设置中文输入, 因此只设置 LC_CTYPE=zh_CN.UTF-8 .
追加 export LC_CTYPE="zh_CN.UTF-8"/etc/profile 文件, 然后重启.

重启之后, 发现...

重启之后, 发现...
WPS 终于可以输入中文了. 太坑了, 这必须得写个博客记录一下...