私はubuntuターミナルでコマンドを実行してオートコンプリートできるWebベースのターミナルを書くことに興味があります。
私は、ROTEを使用するAnyterm http://www.anyterm.orgをいじりました:バックエンドサーバーでの「VT102ターミナルエミュレーション用の単純なCライブラリ」、およびターミナルui用のjavascript/html。問題は、同じウィンドウで2つの端末を開くことができないことでした。
いくつかの調査を行った後、私はターミナルサーバー/擬似端末(正しい用語のいずれか)をPythonで作成することにしました。これは次のことができます。
- ubuntuターミナルでコマンドを実行します(ls、grepなど)
- コマンドをオートコンプリートします($ gedi(押されたタブ)$ geditなど)
- ターミナルの複数のインスタンスを同時に開いてください(一方にlsと入力すると、もう一方のターミナルは、別のターミナルセッション以降の最後のコマンドとしてlsを認識しません)
私は、pty pythonモジュールを使用して疑似端末を作成できることを発見しましたが、Pythonは初めてであり、そのページの例を機能させることさえできませんでした。
私は、Pythonスクリプトでhttpサーバーにjavascript / htmlターミナルUIを提供することを計画しています(これが、このプロジェクトでPythonを選択したかった主な理由です)。次に、Web UIをバックエンドターミナル「サーバー」と通信させ、結果をWebUIに戻します。
あなたが私を正しい方向に向けることができれば、多分私がどのモジュールを使うべきかを教えてください-ptyではないにしても-そして私がそれをいただければ幸いです。
私はjavascript/phpを知っており、bashスクリプトに精通しています-この時点で、CベースまたはPythonベースのバックエンドサーバーを使用できますが、Pythonはこのプロジェクトに適していますか?
注:バックエンドサーバーからターミナル出力を取得するためにajaxpostまたはgetメソッドを使用するUIを作成することを計画しています。