如何让Emacs Server以X11模式从命令行启动?
如何启动基于X11的Emacs Server守护进程
直接启动关联X11的守护进程
在命令行运行以下命令,让守护进程绑定当前的X11显示:
emacs --daemon --display=$DISPLAY
之后执行emacsclient foo.x,就会在已有的X11会话中打开目标文件。
强制emacsclient使用图形界面
如果已经用普通方式启动了emacs --daemon,可以给emacsclient加上-c参数强制创建X11窗口:
emacsclient -c foo.x
配置默认行为(可选)
如果希望每次启动图形界面Emacs时自动开启server,可以在Emacs配置文件(如~/.emacs或~/.emacs.d/init.el)中添加:
(when (display-graphic-p) (server-start))
问题原因说明
emacs --daemon默认以无图形界面模式初始化,即便DISPLAY环境变量存在,也不会主动加载X11相关组件;而先运行emacs &打开X窗口时,Emacs已加载图形界面配置,此时启动的server会关联该X会话,因此emacsclient会在图形窗口中打开文件。
内容的提问来源于stack exchange,提问作者xpusostomos
相关产品推荐
相关产品推荐

