2012-07-27 2 views
0

J'écris un programme pour me connecter à un serveur distant avec ssh et fournir à l'utilisateur un terminal shell. J'ai essayé JSch et sshj - les deux peuvent se connecter correctement mais simplement raccorder les flux d'entrée/sortie de leurs canaux shell à System.in et System.out produit une sortie géniale. Je sais pourquoi - les documentations pour JSch et sshj disent qu'ils n'ont pas d'émulation de terminal intégrée donc l'entrée/sortie est moche. (sshj appelle cette implémentation un "rudimentaire PTY")Pseudo-terminal à utiliser avec ssh en Java

J'ai également une sélection d'émulateurs de terminaux: JTerm, DragonConsole et Terminator.

Mon objectif est de démarrer une fenêtre d'émulation de terminal et de faire quelque chose de similaire à brancher les flux d'entrée/sortie du canal shell dans l'émulateur. Des alternatives comme suggérer un moyen pour moi de traiter les entrées/sorties vers/depuis le canal shell moi-même pour me débarrasser des caractères indésirables seraient également appréciées - c'est le problème principal.

Edit: Here is the sshj "rudimentary PTY"

And here's the JSch version

Répondre