Emacsclient切换不了中文输入法

今天实验了一把,在crontab中加了一句@reboot /usr/local/bin/emacs --daemon,让系统启动时自动以daemon的方式启动emacs,然后很惊奇的发现在emacsclient中似乎切换不了中文输入法了,不管按C-Space还是C-Alt都没用… 但是我去掉这一行,登录用户后再手工启动emacs --daemon,就能切换中文输入法了。 不知道有没有人遇到过类似的问题,怎么解决的 我用的是Fcitx、Ubuntu16.04、Emacs25.1、xfce4

另外,我试过在emacs中取消掉C-SPC的按键绑定也没用,只会在Emacs中显示“C-SPC is undefined”

可以用内置的输入法.GitHub - tumashu/pyim: 一个 emacs 中文输入法,支持全拼,双拼,五笔,仓颉和Rime,pyim 是 GNU elpa 包。

可能 Emacs daemon 需要在 Xfce 之后启动,不然 C-SPC 优先给 Emacs 处理了,Xfce 接收不到。可以试试用 xfce 自带的开机启动管理工具来启动 Emacs daemon。

确实是这样子的,但是我不太能理解为何在Xfce之前启动Xfce就接受不到按键呢?这个原理是什么?

fcitx需要先于emacs启动,还有那些 为了解决fcitx与emac不兼容问题而设置的环境变量也需要在emacs启动之前设置好。 fcitx是由xfce桌面开机启动的,这个可以在xfce中的开机启动项管理中设置

1 个赞