Webブラウザ用のSSHクライアントを構築しようとしています(ajaxtermと同様)。Paramikoを使用するPythonバックエンドSSHClient.invoke_shell(term='vt100')
と、フロントエンド(HTML + AJAX)と通信するWebサーバーを構築しました。SSHチャネルを介してコマンドを送信すると、システムは動作して出力を表示しますが、出力にはVT100エスケープシーケンスが含まれています。
私が正しく理解していれば、SSHチャネルから取得したものはすべて、24x80ターミナルウィンドウのコマンドとして解釈されるべきですか?つまり、エスケープシーケンスは、色を変更したり、画面をクリアしたり、線を削除したり、線の動作を変更したりする可能性があります...(ここで適切なリストを見つけました)つまり、それらをクリアすることはできませんか?
Ajaxtermのソースを確認しましたが、Terminalクラスをどのように使用できるかわかりませんでした(そのため、自分の目的に使用できました)。
質問:出力ストリームを解釈し、ブラウザで端末画面を適切に表示する最も簡単な方法は何でしょうか?言い換えれば、出力を解析して画面の内容を保持するライブラリはありますか?
端子の内部動作を誤解した場合はお知らせください。私は過去に彼らとあまり経験がありませんでした。:)