実行中のWindowsコンソールアプリケーションのテキスト出力をキャプチャしたいですwineconsole --backend=curses ...
。
アプリ自体は退屈なstdioを使用しています。残念ながら、ワインは出力を大幅にエスケープするため、ファイルにリダイレクトするのに役に立ちません。
wineconsole
環境変数を使用します。たとえば、またはを設定すると、TERM
若干異なる動作をします。TERM=vt100
TERM=linux
TERM
画面をまったく消去する必要のない非常に基本的な方法を探していると思います。
あるいは、ttyをエミュレートして出力をプレーンテキストに変換するツールです。
答え1
設定を試すことができますTERM=dumb
。wineconsole
全画面にこだわらない場合でも動作できます。
それ以外の場合は、前述のように、script
これが回避策の一部です。これにより、画面に送信されたテキストファイルのすべてのデータを透過的に収集するプログラムを実行できます。
それを理解するのが残りの解決策です。wineconsole
左から右へ/上から下に簡単に書き込むと、エスケープ文字(色付き)をフィルタリングして便利なプレーンテキストを取得できます。画面を飛び回ったり、テーブルを表示したりするなどの操作を行うと、これをうまく実行できません。しかし、出口イベントを(部分的に)フィルタリングすることは、通常何もしないよりも優れています。
エスケープシーケンスフィルタリングのトピックは時々発生します。Unixユーティリティを使用してプログラムでANSI制御コードをファイルに「書き込み」できますか?
追加資料:
- 3.8。テキストモードプログラム (CUI: Console User Interface) ワインユーザーガイド
- スクリプト2ログ ANSIエスケープシーケンスを削除し、バックスペース/サムを減らします。