TALK(1) | FreeBSD General Commands Manual | TALK(1) |
名前
talk — 他のユーザーと会話をする書式
talk person [ ttyname]説明
talk は、視覚的な通信プログラムであり、ユーザーの端末の行を他のユーザーの端末にコピーする。使用可能なオプションは以下の通りである。
- person
-
自分が使っているマシン上にいる誰かと会話をしたい場合は、
person を相手のログイン名にする。他のホスト上にいるユーザーと会話をしたい場合は、
person を‘
user@host
’の形式で指定する。 - ttyname
-
複数の端末にログインしているユーザーと会話をしたい場合は、使用する端末名を指示するための引き数
ttyname を指定することができる。ここで、
ttyname は‘
ttyXX
’または‘pts/X
’という形式である。
最初に呼び出しを行うとき、 talk は相手ユーザーのマシンの 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
’を打ち込むと、画面を再描画する。削除 (erase)・行削除 (kill line)・単語削除 (word erase) 文字 (通常はそれぞれ ^H, ^U, ^W に対応) は通常の動作する。会話を終了する場合は、単に中断 (interrupt) 文字 (通常は ^C) を入力すればよい。そうすると talk は、カーソルを画面の一番下に移動させ、端末を元の状態に戻す。
netkit-ntalk 0.15 から talk は後方スクロールが可能になった。自分のウインドウをスクロールするには、esc-p と esc-n を使う。相手のウインドウをスクロールするには、ctrl-p と ctrl-n を使う。このキーは、0.16 のキーとは逆になっている。最初は戸惑うかも知れないが、自分自身の画面をスクロールする必要はあまりないため、エスケープキーとの入力しづらい組合せを使用している。
talk からの呼び出しを受けたくない場合、 mesg(1) コマンドを使ってブロックすることができる。デフォルトでは talk からの呼び出しはブロックされない。 nroff(1), pine(1), pr(1) などは出力が見にくくなるのを防ぐため、一時的にメッセージをブロックする。
ファイル
- /etc/hosts
- 受信者のマシンを見つけるために用いる
- /var/run/utmp
- 受信者の端末名 (tty) を見つけるために用いる
バグ
talk デーモンとの通信に使われるプロトコルは、たいした機能がない。4.2BSD と一緒にリリースされたバージョンの talk(1) は、別のもっと機能がないプロトコルを使っていて、全く互換性がない。ベンダー (特に Sun) の出している Unix に古いプロトコルが使用されていることが判っている。
古いバージョンの talk は、動的な SLIP や PPP 接続をしているような、複数の IP アドレスを持つマシンで実行すると問題があった。この問題は netkit-ntalk 0.11 で修正されたが、通信しようとする相手に影響があるかも知れない。
履歴
talk コマンドは 4.2BSD で登場した。November 24, 1999 | Linux NetKit (0.17) |