我在 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)