前段时间用 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中文问题(输入法无法呼出)