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)
を見つけるために用いる
mail(1),
mesg(1),
who(1),
write(1),
talkd(8)
talk
デーモンとの通信に使われるプロトコルは、たいした機能がない。
4.2BSD
と一緒にリリースされたバージョンの
は、別のもっと機能がないプロトコルを使っていて、全く互換性がない。
ベンダー (特に Sun)
の出している Unix
に古いプロトコルが
使用されていることが判っている。
古いバージョンの
talk は、動的な
SLIP や PPP
接続をしているような、
複数の IP
アドレスを持つマシンで実行すると問題があった。
この問題は netkit-ntalk 0.11
で修正されたが、
通信しようとする相手に影響があるかも知れない。
talk コマンドは
4.2BSD
で登場した。