emacs GUI 使用 fcitx

前段时间用 emacs GUI 的时候发现不能输入中文,搜了下发现有挺多人遇到问题,参考资料 [1] 里面有解释说是 emacs 的一个遗留问题,只要把 LC_CTYPE 设置成 zh_CN.UTF-8 就行。但是我试了下发现没效果,继续搜索之后发现还有个可能是字体的问题(见参考资料[2,3]),装完字体就好了。这里把需要的配置都总结下备忘,因为字体的问题一点都没有报错,完全不知道从何查起。

这里的环境是 fcitx 4.2.9.7,emacs 26.3。

编辑 ~/.xprofile(或 ~/.bashrc),加入以下内容:

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

编辑 ~/.xprofile(或 ~/.bashrc),设置 LC_CTYPE

export LC_CTYPE=zh_CN.UTF-8

可能有关的一个配置(不确定)是,在 ~/.Xdefaults 加上

Emacs.useXIM:on

安装缺少的字体(emacs 默认使用带 r-normal--14 的字体,如果找不到 fcitx 就不能启动):

apt-get install xfonts-terminus
fc-cache -fv # 刷新字体缓存

注销后重新登录即可。

如果以上配置都加上了还没解决问题,可以执行 fcitx-diagnose 根据其中的信息来修复。

参考资料

[1] Emacs GUI下不能输入中文
[2] Issues with Fcitx-Sougou for Chinese input in Emacs
[3] emacs中文问题(输入法无法呼出)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注