3

Webブラウザ用のSSHクライアントを構築しようとしています(ajaxtermと同様)。Paramikoを使用するPythonバックエンドSSHClient.invoke_shell(term='vt100')と、フロントエンド(HTML + AJAX)と通信するWebサーバーを構築しました。SSHチャネルを介してコマンドを送信すると、システムは動作して出力を表示しますが、出力にはVT100エスケープシーケンスが含まれています。

私が正しく理解していれば、SSHチャネルから取得したものはすべて、24x80ターミナルウィンドウのコマンドとして解釈されるべきですか?つまり、エスケープシーケンスは、色を変更したり、画面をクリアしたり、線を削除したり、線の動作を変更したりする可能性があります...(ここで適切なリストを見つけました)つまり、それらをクリアすることはできませんか?

Ajaxtermのソースを確認しましたが、Terminalクラスをどのように使用できるかわかりませんでした(そのため、自分の目的に使用できました)。

質問:出力ストリームを解釈し、ブラウザで端末画面を適切に表示する最も簡単な方法は何でしょうか?言い換えれば、出力を解析して画面の内容を保持するライブラリはありますか?

端子の内部動作を誤解した場合はお知らせください。私は過去に彼らとあまり経験がありませんでした。:)

4

1 に答える 1

4

私は数日前に同じことをしようとしました。完成していませんが、Pythonターミナルエミュレータライブラリがいくつか見つかりました。

クリーンなAPIで使いやすいpyteを選びました。同じ仕事をしている他のライブラリのリストは、pyteのREADMEの最後にあります。

于 2011-10-06T13:58:57.423 に答える