问题描述
在 x11 桌面中,可以由 systemctl 启动 emacs 服务器:
systemctl --user enable emacs
然后即可启动 emacsclient:
emacsclient -c -a “”
但转到 wayland 桌面后却出了问题,即 systemctl 启动 emacs 服务器时,由于 wayland 机制问题,窗口初始化不能正常完成,导致 emacsclient 启动时无法初始化窗口而不能显示窗口,仅能在终端中启动。
解决方案
不通过 systemctl 启动 emacs 服务器:
systemctl --user disable emacs
在 ~/.config/autostart 中创建 emacs-daemon.desktop 文件:
[Desktop Entry]
Type=Application
Exec=emacs --daemon
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Emacs Daemon
Comment=Start Emacs server on login
即在进入桌面后,完成了窗口系统的初始化,再在桌面线程中启动 emacs 服务器。自此,即可正常启动窗口 emacsclient 了。