Emacs GUI下不能输入中文

配新电脑的时候居然把这问题解决了,在这里留个档吧……

我当初的问题是 systemd --user 起的 Emacs daemon 无法在 emacsclient -c 里呼出 fcitx。但在 shell 里 emacs --daemon 起的就可以。

最后问题还是在 env 的配置上,但问题不在 LANG ,而在 fcitx 所需要的那些。

以下是一个我能用的 ~/.config/systemd/user/emacs.service 的例子:

[Unit]
Description=Emacs daemon service

[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=XMODIFIERS=@im=fcitx
Environment=GTK_IM_MODULE=fcitx
Restart=always

[Install]
WantedBy=default.target

如果有朋友遇到类似问题的,试着在 Emacs 里检查 (getenv "XMODIFIERS")(getenv "GTK_IM_MODULE") 的值是否正确

4 个赞