English | Japanese

ttyrec: ttyレコーダー

最終更新日: 2006-06-11 (公開日: 2000-12-27)


ttyrec とは?

ttyrec は tty を録画します。録画したデータは付属の ttyplayコ マンドで再生できます。ttyrec は script コマンドにマイクロ秒 単位で時間情報を埋め込む機能を追加しただけの代物です。emacs -nw でも vi でも lynx でも tty 上で動くプログラムなら何でも 録画できます。

新着情報

使い方

録画

  % ttyrec
  (シェルが立ち上がるので、好き放題に遊んでから exit)

  % ttyrec -e command
  (-e で指定したコマンドが立ち上がり、終了するまで録画)

再生

  % ttyplay ttyrecord  

-s2 とオプションを指定すると倍速再生ができます。 -p オプショ ンを指定すると他人の ttyrecordをリアルタイムに覗き見できます。 さあ遊ぼう。

再生中に次のキー操作で速度を変更できます。

ファイル転送

ttyrec の -u オプションを用いると uuencode を利用したファイ ル転送が行えます。remotehost の foo.zip を手元の localhost にコピーするときは次のように実行します。

  % ttyrec -u                 # ttyrec を -u オプションつきで実行
  % ssh remotehost            # remotehost にログイン
  % uuencode foo.zip foo.zip  # foo.zip を uuencode で垂れ流す
  % exit                      # remotehost からログアウト
  % ls foo.zip                # localhost に foo.zip が転送されている!
  foo.zip   

remotehost には uuencode コマンドが、localhost には uudecode コマンドが必要です。localhost で動いている ttyrec -u は uuencode されたデータが流れてくると自動的に uudecode コマン ドを呼び出します。

録画データの収録時間を調べる

ttytime は録画データの収録時間を秒単位で表示します。

  % ttytime *.tty
      173 foo.tty
     1832 bar.tty

ttyplayサーバで遊ぼう

inetd と組み合わせると、簡単に ttyplayサーバを作れます。 /etc/inetd.conf に次のような設定を追加して、

12345 stream tcp nowait root /usr/sbin/tcpd /usr/local/bin/ttyplay /var/tmp/foo.tty 2>/dev/null

コマンドラインから

% telnet localhost 12345

-p オプションを使えばライブ中継ができます。

12345 stream tcp nowait root /usr/sbin/tcpd /usr/local/bin/ttyplay -p /var/tmp/foo.tty 2>/dev/null

tty mania にビデオがあ ります。

情報提供: 北目拓郎さん

豆知識

一日中の作業を録画するとデータが大きくなります。そのときは gzip しましょう。再生時に gunzip すれば OKです。
情報提供: 野首貴嗣さん

  % gzip ttyrecord
  % gunzip < ttyrecord.gz | ttyplay

ダウンロード

ttyrec は BSDライセンスのフリーソフトウェアです。

既知の問題

関連リンク集

ttyrec 端末

ttyrecを内蔵した端末があるといいですね。


Satoru Takabayashi