安装emacs之后,发现在 pidgin 里面选择打开 hotmail 邮箱的时候不好用了,浏览器没反映,以前是会打开一个 file:///tmp/purple2CMD9T 这样的文件的,然后这个文件重定向到 hotmail 邮箱,其实说白了基本没用,还不如自己在浏览器打一个 hotmail.com,因为他好像不会发送你的帐户信息,就像在msn里面那样,直接登录。
但是不能用了,总觉得心里堵的荒,趁着刚搞定 mplayer 对gnome的屏保的xxoo,以及 automount 的东风,一定要搞定这个,嗯。
查看 pidgin 的debug信息可以看到,pidgin是调用xdg-open 来打开那个文件,由xdg-open 调用相应的程序来打开。命令行执行一下,可以看到xdg-open 调用了 emacsclient 来打开那个文件,这显然是不行的。
/usr/bin/emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
/usr/bin/emacsclient: No socket or alternate editor.  Please use:
--socket-nam
--server-file      (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)
怎么修改,尝试了 xdg-mime ,结果不行。今天 sssslang 提醒说 xdg-open 是个shell脚本,看了之后发现在gnome下面,他调用的其实是 gnome-open 来打开的。gnome-open 是个bin文件,没的看了。搜了一下,发现 /etc/gnome-vfs-mime-magic 似乎是用来判断文件类型的,根据文件的头。不过这个和打开程序没关系。 然后找到 /usr/share/applications/mimeinfo.cache 这个文件,把里面emacsclient 相关的都删掉,反正我也不用他。然后还得把 /usr/share/applications/emacsclient.desktop 里面 MimeType 行干掉,要不后面执行更新的时候会再次把emacsclient 的信息更新到 mimeinfo.cache 里面。 好了,执行一下 sudo update-desktop-database 更新一下cache,就没问题了。需要注意这个cache在 .local/share 下面也有一个。 太高兴了,问题都解决了。