端末に表示されている内容をすべて読みます。

端末に表示されている内容をすべて読みます。

端末にコンテンツを書き込む端末アプリケーションを作成しています。テストするには、実際に端末に表示される内容をテストする必要があります。端末に実際に表示されたデータを何とか読み取る方法はありますか?

端末はファイルまたはどこかにある必要があるため、そこにある内容を読む方法が必要です。

cat /dev/tty

そこにデータフローを提供しているようです...しかし、キーストロークを見たくありません。私が書いただけです。

ベストアンサー1

一部の端末プログラムは画面ダンプを提供します(例:xterm)、しかしほとんどはそうではありません(参照画面に存在するコマンドラインテキストをファイルとして保存しますか? (非グラフィックLinux)例えば)。 gimpなどのツールを使用してスクリーンショットを撮ることができますが、実際の文字が何であるかはわかりません。進化するにはこれを知る必要があります。

私はscript出力をに書き込むために使用しますtypescriptcatこれを画面に戻すことができます(またはless -Rエスケープシーケンスが十分に単純な場合を使用)。より複雑なタスクや長いトレースの場合は、他のツールを使用してください。

  • slowcatcat進行速度を遅くする
  • vile-pagerフィルタは読みやすい形式でエスケープされます。less- 色の順序は複数行にわたって機能しますが、まだ1行のカーソル移動に制限されます。使用するフィルタですviに似たEmacs、特別な目的を通して便利

違いを説明するために、以下は私のDebianコンピュータの1つで実行されているファイルless -rのスクリーンショットです。typescriptapt-get update

ここに画像の説明を入力してください。

代わりに、vile-pagerテキストを含む場所を強調表示してください。

ここに画像の説明を入力してください。

どちらにしても(あまりにも卑劣に)、アプリケーションが画面の周りにカーソルを移動した場合に出力を表示する唯一の方法は、cat/slowcat/etcを使用することです。

おすすめ記事