TALK(1)

名称
talk - 他のユーザと会話(筆談)を行う

書式
talk person [ttyname]

解説
talk ユーティリティは、視覚的な通信プログラムで、 端末に入力された行を他のユーザの端末にコピーします。

オプション:

person
    同じマシンにいるユーザ と会話をするときは、単にそのユーザのログイン名を person に指定します。 他のマシンのユーザと会話をしたい場合は、 ‘user@host’ または ‘host!user’ または ‘host:user’ という形で person を指定します。

ttyname
    複数の端末にログイン しているユーザと会話をしたい場合、端末名 ttyname を指定することができます。 ttyname は ‘ttyXX’ という形で指定します。

最初に呼び出しを行うとき、 talk は以下のようなメッセージを 話したい相手に送ります。
    Message from TalkDaemon@his_machine...
    talk: connection requested by your_name@your_machine.
    talk: respond with: talk your_name@your_machine

メッセージを送られた相手は、この時点で以下のように返事をする必要があります。

    talk  your_name@your_machine

ログイン名が同じであれば、相手はどのマシンから返事をしてもかまいません。 一度、相手との接続が確立すると、2人のユーザは同時に書き込みを行うこと ができます。 2 人の書き込み結果は、異なったウィンドウに分割されて表示されます。 control-L ‘^L’ を打ち込むと、画面を書き直します。 control-D ‘^D’ を打ち込むと、画面の両部分をクリアします。 control-D 文字はリモート側にも送られます (そして talk クライアントに表示されます)。 また、erase, kill, word kill 文字 は通常どおりの動作をします。 会話を終了するには、中断 (interrupt) 文字を入力します。 talk は、カーソルを画面の一番下に移動させ、端末を元の状態に戻します。

talk から呼び出しを許すかどうかは、 mesg(1) で指定することができます。 mesg(1) で設定してないときは、 talk からの呼び出しは許可されています。

関連ファイル
/etc/hosts
    受信者のホスト名を知るために用いる
/var/run/utmp
    受信者の端末名を知るために用いる

関連項目
mail(1), mesg(1), wall(1), who(1), write(1), talkd(8)

バグ
4.3BSD で使われているバージョンの talk のプロトコルは、 4.2BSD のものとは互換性がありません。

マルチバイト文字は認識しません。

歴史
talk コマンドは 4.2BSD から登場しました。

FreeBSD 5.3 では、 talk のデフォルトの動作が変更され、ローカル同士の talk リクエストは localhost 発 localhost 着として扱われるようになりました。 この変更の前は、 (gethostbyname(3) を用いた) 名前解決により (gethostname(3) により得た) ホスト名を正当な IPv4 アドレスにすることが必要でした。 この動作では、 (通常、セキュリティ上の理由のため) talkd(8) をループバックインタフェースにバインドする設定で talk を使用するのに不都合がありました。