Windows ボックスで Putty 接続を開いていて、ターミナルでのすべてのアクティビティを Putty に通知してもらいたいです (tail -f
ログ ファイルで実行しています)。どうすれば実現できますか? この方程式では Putty は必要ありません。必要なのはサウンドだけです。
理想的には、手動で無効にするまでサウンドが繰り返されるようにしたいです。こうすれば、別の部屋でシンプソンズを見ているときに、サウンドを聞き逃すことはありません。
答え1
putty が持つ唯一のサウンド生成機能は、Ctrl-G (ASCII BEL 文字) を受信したときにサウンドを再生することです。Ctrl-G に対する応答の動作は、Configuration->Terminal->Bell から変更できます。
ベルを鳴らすように putty を設定した後、次のように「tail」を実行して、「tail」が行を出力するたびに BEL 文字を端末に送信できます。
tail -f /some/file | awk '{print "\07" $0}'
このアプローチの問題点は、おそらく「tail」と「awk」の間でバッファリングが行われることです。出力は行ごとに表示されるのではなく、数キロバイトのデータが蓄積されるたびに表示されます。メッセージがログに記録されるたびに警告を出すことが目的であれば、これはおそらく受け入れられないでしょう。
ある程度のスキルを持つ開発者であれば、出力にBEL文字を追加する「tail」コマンドの代替品を書くことができます。たとえば、Perlモジュールファイルの末尾に、 のような動作を示すサンプル コードが示されていますtail -f
。このスクリプトに BEL 文字を追加するのは非常に簡単です。