ssh を使用してリモート サーバーに接続し、ユーザーにシェル ターミナルを提供するプログラムを作成しています。
私は JSch と sshj を試しました。どちらも適切に接続できますが、シェル チャネルの入出力ストリームを System.in と System.out に接続するだけで、ファンキーな出力が生成されます。理由はわかっています.JSchとsshjの両方のドキュメントには、ターミナルエミュレーションが組み込まれていないため、入出力が見にくいと書かれています。(sshj はこの実装を「初歩的な PTY」と呼んでいます)
また、JTerm、DragonConsole、Terminator などのターミナル エミュレーターも選択できます。
私の目標は、ターミナル エミュレーター ウィンドウを起動し、シェル チャネルからの入出力ストリームをエミュレーターに接続するのと同様のことを行うことです。
ジャンク文字を取り除くために、シェルチャネルへの/からの入出力を自分で処理する方法を提案するなどの代替手段も高く評価されます-それが主な問題です。