From: Tomohiro K. <tk...@ri...> - 2002-04-26 03:57:41
|
At Fri, 26 Apr 2002 12:32:34 +0900 (JST), sakamoto hironori wrote: > > > はじめまして、草薙と申します。 > > 環境変数TERMは端末の上で動くアプリケーションが端末の種類を知るための > > もので、端末自身が見るためのものじゃないと思いますがどうでしょうか。 > > terminfoも端末が持つ機能をncursesに教えるためのものであって、 > > 端末の動作がterminfoの内容によって変わるのは本末転倒だと思います。 > > はい。私もその通りと思います。 そういう考えです。ぼくが最初、「bce 機能サポート」なんていう表現を してしまったのが誤解を生んでしまったのかもしれません。bce は「機能」 ではなく「仕様」「性質」ですから。 > これと上の方針は両立可能で、 > * 通常 > mlterm は TERM を mlterm として shell を起動 > * xterm エミュレーション > mlterm --term=xterm として起動 > mlterm は TERM を xterm として shell を起動 > * kterm エミュレーション > mlterm --term=kterm として起動 > mlterm は TERM を kterm として shell を起動 > とすればいいのではないでしょうか。 いっそのこと、--term=hogehoge で、TERM が任意の hogehoge に 設定される、というのでもいいと思います。xterm と kterm だけに 限る必要もないのではないでしょうか。(もちろん、これは、この TERM の内容によって mlterm の動作が影響を受けないということが 前提ですが)。これは、mlterm という termcap/terminfo をインストール していない環境で使う際の緊急回避手段と言えると思います。 > 本当は、アプリがきちんと temcap/terminfo を見れば TERM=mlterm だけ > いいと思うのですが、そういうわけにはなかなかなっていない(w3m でも > 色々と決め打ちや暗黙の仮定が入ってる)ので、TERM=xterm や TERM=kterm > でもある程度動作するというのは意味があると思います。 ターミナルの特性を決め打ちしてしまっているようなアプリケーションは、 TERM を何に設定しても知らんぷりなので、意味がないのではないですか? それとも、「TERM=xterm の内容や TERM=kterm の内容を決め打ちして いるようなアプリケーション」のことでしょうか。そういう場合は、 そのアプリケーションが termcap/terminfo のエミュレーションを している、と解釈できるので、エミュレーションがうまく働かないのは そのエミュレータの実装が悪いから、ということでいいと思います。 というか、TERM=xterm や TERM=kterm の内容がシステムによってまちまち、 というのが今回の問題のそもそもの発端なので、その文脈からすれば、 そういうアプリケーションは、まずいでしょう、という結論にしか ならないと思います。 --- 久保田智広 Tomohiro KUBOTA <ku...@de...> http://www.debian.or.jp/~kubota/ "Introduction to I18N" http://www.debian.org/doc/manuals/intro-i18n/ |