Emacs 窗口(框架)在启动时消失



我在 ubuntu 15.04 上使用 emacs,我的 emacs 配置文件来自 https://github.com/purcell/emacs.d,带有我自己的一些配置文件。

当我从 shell 或开始图标运行 emacs 时,它会正常启动,显示一些加载信息,并询问有关某些 pid 已经使用的桌面文件的问题。既不回答是也不是否,框架一直持续到最后一步,它就消失了。仍然有进程pid,但是emacs框架

找不到任何地方。

如果我从 shell 命令启动 emacs,并使用 -q 参数,而不是加载配置文件,一切都很好。之后我甚至可以手动加载配置文件。

如果我使用 -nw 参数从 shell 命令启动 emacs,它也可以工作。

有人对这里到底发生了什么有任何想法吗?

我确切地知道你的问题是什么。我自己也有同样的问题。

Emacs 桌面尝试在上次打开的相同位置恢复相同的窗口。但是上次你成功打开Emacs时,你在不同的DISPLAY启动了它(DISPLAY是Linux中的一个环境变量,或多或少地控制着新窗口应该出现在哪个窗口管理器中)。因此,错误的DISPLAY存储在您的.emacs.desktop文件中。当你打开Emacs时,桌面会帮助打开旧DISPLAY中的Emacs,你无法查看。

溶液

在 Emacs 关闭的情况下,打开~/.emacs.d/.emacs.desktop。在里面,你会看到

(setq desktop-saved-frameset ... (display . ":1.0") ...)

将其更改为 (display . ":0.0") ,然后再次打开 Emacs。

让它不再发生

把它放在你的.emacs

(setq desktop-restore-frames nil)

最新更新