PCにシリアルコンソールでログインできるように設定した。シリアルコンソールを使えばNICの設定などでもあわてずに利用できる。便利。シリアルコンソールでつかうmgetty mingettyのttyってなんだろう
図で表すと
PC----ssh------/dev/pts/1--sshd----bash #ssh が接続されている PC----rs232c---/dev/ttyS0--mgetty--bash #rs232c が接続されている
とttyなど仮想端末経由になっている。コレ今はよく解ったけど、ずっとよく解らなかった。
私が理解できるようになるまで、次のプロセスがありました。
2ヶ月前 先輩に訊いてみた
俺:tty とか mgetty とかありますけどこれよく分かりません。 大先輩 : tty をmgetty が待ち受けていてtty経由でログインするんだよ
ますますわかりませんでした。大先輩は使ってみたらすぐ分かるんだけど・・・と行ってました。
ググって調べてみた
ttyとは
これが転じて、TTYは、RS-232Cなどのシリアルインターフェースでコンピューターに接続するコンソール入力装置を指すようになった。現在ではコンソールが用いられることもなくなったが、UNIXの仮想的なキャラクター端末のデバイス名として用いられるなどの形で今も名残をとどめている。
http://www.sophia-it.com/content/TTY
ますますよく解りませんでした。
はてな質問で発見!そして解決しました
ちょっとわかりにくい説明になってしまいましたが,たとえば,いま自分が使っている端末がどれかを表示するには,
$ tty
と実行します
psコマンドの結果の、 TTYの項の、 tty2やpts/0はそれぞれどんな… - 人力検索はてな
なるほど
早速やってみた
先輩が試せばすぐ分かるの言葉を思い出してやってみました。
ttyを確認する。
takuya@v10:~$ tty /dev/pts/1
ということはw /finger /who のコマンドから見えるアレもtty
takuya@v10:~$ w USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT takuya pts/1 192.168.2.8:S.0 03:45 0.00s 0.50s 0.50s /bin/bash takuya pts/2 192.168.2.8:S.1 03:45 14:42 0.35s 0.35s /bin/bash
これは
- takuya pts/1
- takuya pts/2
の2セッションでログインしています。はてな質問の例の通り、Echoして遊んでみたいと思います。
出力する側
takuya@v10:~$ tty /dev/pts/1
される側
takuya@v10:~$ tty /dev/pts/2
出力してみる
takuya@v10:~$ echo foooooobar > /dev/pts/2 takuya@v10:~$ echo foooooobar > /dev/pts/2
された
takuya@v10r:~$ foooooobar foooooobar
おおおおお pts に出力したら、そっち側に出力できた。コレは面白いですね。
何の役にも立たないけれど面白いですね。
この実験で、ttyは仮想ファイルで出入力を扱うデバイスだとハッキリ体験しました。
write / wall コマンド
write コマンドと wall コマンドで、tty に送信することが出来て、複数人でバトルすると楽しい。
2011/11/11追記
tty と、ptsは ttyがキーボードと出力、PTSは ttysの仮想化。擬似TTY
キーボードは標準入力
2017-01-24
write/ wall について追記