Posted on 14-08-2009
Filed Under (技术) by waterlin

今天下午上班的时候,公司居然断电了。等电来了之后,发现Emacs死活启动不了,也就是说,没有办法顺利读入配置文件,Emacs会提示如下图所示的错误:

EmacsDesktopErrorCopyright.png

仔细地查看了一下Emacs的home目录,发现多了一个叫.emacs.desktop.lock的文件,我估计这个文件是和Desktop扩展有关。我把这个文件删掉之后,Emacs就可以正常启动了。看来,以前碰到的类似情况,多半也是这个原因。

仔细地试了一下,原来Emacs在跑的时候,会产生这个文件,应该是用来缓存当前打开的文件名信息之类的数据。当Emacs正常退出时,这个文件会随着消失;但是如果Emacs非法退出,这个文件可能就没办法处理了。

删除应该不是最正确的处理方法,但是我目前也不知道应该怎样处理会更好一些。

© 2009, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

Comments

coxoto on 25 August, 2009 at 9:00 pm #

这个特性(desktop)是用来记录你关掉emacs时的状态,然后在再次打开的时候恢复.一个emacs在打开时会产生一个锁 防止你打开另外一个emacs(这样就会有两个状态 那是矛盾的) ,这个锁会在你emacs关闭并写入你的状态到文件后自动删除.
假如你非正常关机,这个锁就还在,你打开emacs的时候就等于打开了”第二个emacs” 呵呵 出错了
所以删掉这个文件是正确的 也是唯一的解决方法
PS:有的时候可以打开多个emacs 但关闭一个,再关闭一个的时候就会有提示出来,问你是否要改写前一个的状态

[Reply]


WaterLin on 26 August, 2009 at 8:52 am #

很好,解释得很详细。

[Reply]


coxoto on 27 August, 2009 at 3:40 pm #

更正 记录的是你打开的所有文件(buffers) 记录整个软件状态的是(session)

[Reply]


Post a Comment
Name:
Email:
Website:
Comments: