Login

    
Login

Posts Tagged ‘opensource’

openoffice 升级至2.4.1后无法启动的故障解决办法

我在linux下用openoffice来处理office文档,虽然LaTeX更好更强大,可是我一没有能够很熟练掌握它的所有操作,二是别人传过来的一些doc xsl ppt格式的文件,还是只能用openoffice来打开。Openoffice根据sjtu源,从2.4升级到2.4.1之后,突然发现打不开了,在字符终端下敲入命令后,出现如下错误提示:


simon@simon:~$ openoffice
/usr/lib/openoffice/program/soffice: line 367: syntax error near unexpected token `fi'
/usr/lib/openoffice/program/soffice: line 367: `fi'

貌似是升级导致的问题。于是打开/usr/lib/openoffice/program/soffice文件,看看发生了什么:


	sudo emacs /usr/lib/openoffice/program/soffice

错误提示中的第367行附近是这样一段代码:


	# test for availability of the fast external splash
	for arg in $@; do
	if [ "$arg" = "-nologo" -o "$arg" = "-no-oosplash" ]; then
	no_oosplash=y
	fi
	fi

	if [ "$sd_binary" = "soffice.bin" -a -x "$sd_prog/oosplash.bin" ] && [ "$no_oosplash" != "y" ] ; then
    sd_binary="oosplash.bin"
	fi

看起来,似乎是因为出现了两个fi导致的重复。bug原因不详。将第二个fi改为done,保存,退出,重新运行openoffice,就一切正常了。
修改后的代码如下:


	# test for availability of the fast external splash
for arg in $@; do
	if [ "$arg" = "-nologo" -o "$arg" = "-no-oosplash" ]; then
		no_oosplash=y
	fi
#fi
done

if [ "$sd_binary" = "soffice.bin" -a -x "$sd_prog/oosplash.bin" ] && [ "$no_oosplash" != "y" ] ; then
    sd_binary="oosplash.bin"
fi

绑定Emacs和mutt,以IMAP方式访问Gmail

本文的目的:在Emacs下利用Mutt,以IMAP方式完成Gmail邮箱的绑定。

简单的介绍一下情况:作为一个超级伪Emacs狂热者,我希望打开计算机的一切活动都在Emacs下完成,当然也包括收发Email了。今天的笔记主要涉及到在Emacs-unicode-2下使用mutt,以

以及,在.mutt目录下创建这个文件,是muttrc中需要的。留空即可,因为我暂时还没搞懂它是干什么用的:)

touch ~/.mutt/mail_aliases

3.mutt试验

在一个已经调配好了中文字体支持的字符终端下(比如urxvt, gnome-terminal),输入mutt,回车
mutt会提示输入密码,按照要求照做,imap读取了邮件列表之后,就进入mutt的页面了。
本文假定您已经掌握了基本的mutt操作,如果没有,请阅读
mutt文档

是时候检测mutt和emacs的绑定是否成功了。首先确定两点:
1.Emacs和mutt均打开。
2.Emacs的server mode打开。

在mutt窗口下按m,写封信吧。输入对方的邮箱地址(To:),邮件标题(Subject:),回车。看看如果配置正确的话,emacs会出现反应,同时mutt程序窗口里会出现如下字样:

simon@simon:~/.mutt$ mutt
Waiting for Emacs...
Waiting for Emacs...

表示此时mutt在等待文本编辑器Emacs结束工作。

回到Emacs窗口中来,输入邮件正文后,怎么将Emacs中的文件传递回mutt中去呢?
两个方法,第一个很愚蠢,C-x C-c关闭emacs即可(不幸的是,这是我开始一直使用的方法…);第二个是用C-x #来将该buffer传递回给mutt。

现在再回到mutt窗口中,可以看到Attachments部分中有这个文件了。如果还要继续添加其他的附件,比如图片等,还可以用a命令进行后续操作。否则的话,按y发送即可──还需要输入smtp的用户名密码。

补充:mutt以emacsclient方式传递请求给文本编辑器emacs,emacs打开一个新的buffer后,会将该buffer保存在/tmp目录下。可以在/tmp中寻找相应标题的“草稿”来恢复该文档,在没有重新启动的前提下──重启后/tmp中的文件将被删除。