emacs --daemon 在关闭 emacsclient -c 后崩溃

Sil*_*ker 6 arch-linux xorg emacs

我使用以下命令启动 emacs 守护进程。

$ emacs --daemon
Run Code Online (Sandbox Code Playgroud)

这似乎有效。在此之后,我按如下方式启动 emacs 客户端

$ emacsclient -c
Run Code Online (Sandbox Code Playgroud)

每当我关闭 emacsclient 时,服务器也会因以下错误而停止。

X protocol error: BadWindow (invalid Window parameter) on protocol request 42
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
Fatal error (6)zsh: abort  
Run Code Online (Sandbox Code Playgroud)

我没有找到有关此问题的任何信息。有没有解决的办法?

Gil*_*il' 7

这是一个已知错误,FS#32423:emacsclient 始终使 emacs 崩溃。该错误已报告给 Emacs 作者。它由一个Gtk 错误复杂化。据报道,以下解决方法有效:

  • 降级到 Emacs 24.1(而不是 24.2)。
  • 将 Glib 降级到 2.32(而不是 2.34)。
  • 在没有 Gtk 的情况下编译 Emacs ( --with-x-toolkit=lucid)。
  • 在没有可用 X 连接的情况下启动守护程序(尝试DISPLAY= emacs --daemon)。

目前似乎没有实际的解决方案。

除非您是程序员并且熟悉所涉及的技术,否则这不是您可以自己解决的问题。最好的办法是使用其中一种变通方法,并继续观察错误报告以进行修复。