確認すること:
- $TERM, $SHELLは定義されているか。
- /etc/termcapは存在するか。
- /etc/terminfoは存在するか。
とかいろいろ調べたけど分からなかった(分からなかったのかよ)。最後の手段でstrace emacsとかやってみたらどうも/etc/termcapを開こうとしているらしく、ここで丁度死んでいる:
open("/lib/libdl.so.2", O_RDONLY) = 3 open("/etc/termcap", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "Cannot open termcap database fil"..., 33Cannot open termcap database file) = 33
しかし、うちのdebian etchには/etc/terminfoしかない(これも中身は空なんだけど)。
で、terminfoのファイルはまとめて/usr/share/terminfo/?/*にあるみたいなんだけどこれをどうしたらいいのかが分からない。というか、terminfoとしては完璧に整備されているみたいなんだけど、emacsが/etc/termcapを参照するように設定されてしまっているらしい。一体何をやったんだ昔のおれ。で、多分だけど、site-lisp関連のどこか?を調べたらいいと思われるけど、どうしたらいいか分からん。
ちなみに、screen上だとちゃんと起動するんだけど。→/usr/share/terminfo/x/xtermに何かバグがある?…わきゃないか。どーなってんだ。
で、ま、これは突き詰めていくと深入りしそうなのでやめといた方がよさげ。emacs本にもちょっとしか記述はなかったし、そんなに大事な問題でもないんだろう。後で他のDebianシステムと比較してみたい(しかし問題のマシンを除いて、うちにはlenny以降しか残っていない)。
で、よく考えたら、Emacsが正常起動したらログはそのまま流れていくわけですよ。straceの出力がよく分からないので、どうしよう。