10. ソフトを TERM とともに使えるようにする

 原理的には、ネットワークを使うプログラムは TERM との組み合わせでも動かせま す。そのうちのいくつかはすでに TERM が組み込まれたバイナリとして手に入りま す。これらには telnet, (nc)ftp, Mosaic そしてその他たくさんあります。それらの プログラムのほとんどは TERM 1.17 以前のもののためにコンパイルされています。し かし、新しいバージョンの TERM でも動くはずです。

 プログラムを TERM 対応にするもう一つの方法は、自分で移植することです。この 過程については次のサブセクションで述べます。

 プログラムを TERM 対応にする最後の方法は、temify することです。

10.1. ソースの移植とコンパイル

 ソフトウェアを TERM に移植するのはとても簡単な移植手順で可能です:

 もし '/usr/local' に root によってインストールされているならば:

  1. コンパイルフラグ -include /usr/local/include/termnet.h を加える

  2. ライブラリリストに -L$HOME/term -ltermnet を加える

 そしてソフトウェアについてくる INSTALL や README といった文書に書かれた通り にコンパイルすればいいのです。これだけです!

 この時点で、コマンドは TERM と共にでもそうでなくとも動作します。

    telnet localhost

は接続に TERM を使いませんが、

    telnet bohr.physics.purdue.edu

は他のタイプのネットワークコネクションがない限り TERM を使います。

 rlogin のようないくつかのコマンドは root か TERM コネクションの所有者(特権 を持っている人)だけが実行できます。

 いくつかのコマンドは TERM に対し透過的で、他に選択肢のない時にだけ TERM を 用います。例としては telnet や ftp があります。

 他のものは TERM を使ってよいということを外からフラグをたてて伝える必要があ ります。これらのプログラムには xarchie, fsp そして ytalk が含まれます。

 これらのプログラムにフラグを与えるには、環境変数 TERMMODE を README.security にならって設定することもできますし、make installnet を実行することもできま す。結局、作られる'termnet' ファイルは特別なネットワークの指示を含みますが、 その存在だけが確認されるのです。

 もしイーサネット接続を加えるのなら、単に 'termnet' ファイルを削除して同じバ イナリを使い続けることができるのです!

 注意:client.a の頃に移植されたプログラムは単に client.a から termnet.a を 見るように変更するだけで、新しいバージョンの TERM でも再コンパイル可能です。

10.2. Termify

 このパッケージは、TERM を使うためにダイナミックリンクライブラリを変更します。

 termify を使う前に、TERM バージョン 2.2i (これはバージョン 2.2.8 でしょう か?)以上、そして libc.so.4.5.26 以上を使っている必要があります。その後、ディ レクトリ '/lib' にファイル 'libt.so.4' を作る必要があります(パッケージの README ファイルを見てください)。

 この時点での問題は、TERM のバージョンをあげるごとにファイル 'libt.so.4' を 作り直さなくてはならないということです。

 ライブラリができたら、このようなコマンドを使って、 TERM 対応にしたいプログ ラムを termify に食わせてやればいいのです:

    termify <command name>

 最後に、パッケージには 'smail' を完全に termify するスクリプトが入っていま す;特別な転送の設定は必要ありません。変更しなければならないのは 'From:' アド レスくらいでしょう。