[mew-dist 28923] Re: 添付書類、OpenOffice、/tmp/***/***.ppt does not exist.

Ryo Furue furue at example.com
2009年 4月 20日 (月) 11:44:37 JST


みなさま

ありがとうございます。みなさまのお陰で解決策が見つかりました(後述)。

| 当方では、OpenOfficeは、/opt/opt/openoffice.org3/program/soffice とし
| て起動しています。で、
| 
| soffice foo.ppt
| 
| とすると、すぐにプロンプトは戻って来ません。ただし、
| 
| soffice foo.ppt&
| 
| とする、あるいは別の端末から
| 
| soffice bar.ppt
| 
| とすると、こちらの方はすぐにプロンプトが戻ってきます。

どうもありがとうございます! それで原因がはっきりしました。
僕の環境とは "soffice" の動作が違います。僕の方は、
soffice を起動すると、既にOOが起動していなくても、
すぐにプロンプトが戻ってきます。

| > 考えてみると、この問題はごく最近起きるようになったので、もしかすると
| > OO 2 から OO 3 になったせいかも知れません。OO 3 は、
| > 既に起動していようがいまいが、親プロセスはすぐに終了します。
| > OO 2 では、既に起動していたときだけ、親プロセスが終了するの
| > だったのでしょうか(acroread のような動作)?
| > 
| について、確認してみました.
| 
| OpenOffice 2.4 / Debian, Lenny を使っています.
| OOが起動していなければ、待ちました.
| 既に起動している場合は、起動コマンドはすぐに終了しました.
| 
| それがそのままmewでの動作につながっているようです.
| #少なくとも私の環境では。。。。

やはり、Debian で、OO 2 から OO 3 になったときに、その辺りの
動作が変わったんでしょうね。

さて、解決策ですが、あっちこち覗いてみて、以下のことが分かりました。
僕の環境(Debian testing)では、"openoffice.org"コマンドは、
"/usr/lib/openoffice/program/soffice"を呼ぶだけのものです。
さらに、sofficeはシェルスクリプトで、通常は "oosplash.bin" を呼びます。
oosplash.bin はスプラッシュ画面を出したのちに、OO本体を
起動するようです。

この oosplash.bin は、起動したらすぐにプロンプトが返ってきます。
これが今回の問題のおおもとでした。一方、soffice は、"-nologo"
オプションがあると oosplash.bin の代わりに soffice.bin を
呼びます。soffice.bin は起動してもプロンプトは返ってきません。

そこで、~/.mew.el に次の設定をすると問題は解決しました。

(setq mew-prog-mspowerpoint '("openoffice.org" ("-impress" "-nologo") t))

ワード(-msword)やエクセル(-msexcel)も同様です。

お騒がせでした。

古恵 亮
-------------
でも、スプラッシュ画面のありなしでその辺の動作が変わるのは
合理的ではありませんから、Debian にバグ報告でもしてみましょう
かねぇ。



Mew-dist メーリングリストの案内