Qu'est-ce qu'un bon émulateur de terminal basé sur un navigateur? [fermé]

nous avons plusieurs applications de style curses auxquelles nous aimerions donner accès par l'intermédiaire d'une interface basée sur un navigateur.

nous avons une application d'un autre vendeur qui fournit ostensiblement ceci basé sur une ancienne version de la JTA (Java Telnet App) mais cette applet ne gère pas les choses comme redimensionner correctement, et a un support relativement faible pour les tampons de scroll-back et copier/coller.

en ce jour D'interfaces basées sur Ajax, je suis curieux s'il y a bon, solutions libres.

grâce à ce site web, j'ai vu des références à L'émulateur de terminal Web de Reflection, mais c'est probablement trop cher pour nos besoins.

certains des candidats potentiels que j'ai vu comprennent

  1. anyterm
  2. ajaxterm

    Pas de scrollback bar

mais je n'ai pas eu la chance de faire une évaluation détaillée.

22
demandé sur Myrddin Emrys 2009-12-22 11:01:36

3 réponses

J'utilise Ajaxterm fréquemment comme un moyen pratique d'administrer un serveur web de n'importe où. Cela a bien fonctionné pour moi jusqu'à ce que je passe à Chrome comme mon navigateur principal. Ajaxterm fonctionne très bien avec Firefox et IE8, mais est inutilisable avec Chrome, Safari et Opera.

j'ai trouvé que sur Chrome, Safari et Opera, beaucoup de touches ‘spéciales’ ne sont pas passées à Ajaxterm, y compris backspace, les touches fléchées, ctrl+c, ctrl+h, home, end, etc. Opera est encore pire: quand vous appuyez sur MAJ, le clavier est traduit en ^p, donc vous ne pouvez pas taper des majuscules. Ces choses sont des showstoppers pour moi; elles sont probablement showstoppers pour vous aussi.

Anyterm a bien fonctionné pour moi dans tous les navigateurs que j'ai essayé, y compris IE6.

d'Autres choses à garder à l'esprit:

  • Anyterm garde une connexion ouverte en permanence pendant qu'elle tourne, et utilise une deuxième connexion pour les touches. Tous les navigateurs ont une limite sur le nombre de connexions simultanées à un seul hôte. IE 7 et inférieur ont une limite de deux connexions simultanées (comme exigé par la spécification HTTP), de sorte qu'une seule instance de N'importe quel terme pourrait maxer les connexions à cet hôte la plupart du temps. Cependant, ceci est assez facile à contourner en utilisant simplement un nom d'hôte séparé pour N'importe Quelterm.
  • Ajaxterm des bureaux de vote pour les mises à jour, afin de ne pas garder une connexion ouverte en permanence. Il utilise la même connexion pour les touches et les mises à jour d'écran. D'autre part, l'écran ne met pas toujours à jour le plus tôt possible, et le les frais généraux de réseau par mise à jour d'écran sont plus élevés.
  • Ajaxterm met à jour tout l'écran en une seule fois, même pour changer un seul caractère. Anyterm ne met à jour que la partie de l'écran qui a changé. Il est discutable ce qui est plus rapide; un écran entier peut généralement s'insérer dans un seul paquet de toute façon, et L'approche D'Anyterm a plus de traitement en tête, tant du côté du serveur que du côté du client.

Remarque:: Mes commentaires sur Ajaxterm sont basés sur Ajaxterm 0.10. Je Je n'ai pas essayé 0.11, ce qui inclut apparemment les ‘correctifs mineurs’. Mes commentaires sur Anyterm sont basés sur les démos disponibles sur leur site. Je n'ai pas réellement utilisé dans la colère.

7
répondu Daniel Cassidy 2009-12-26 13:08:32

j'ai essayé https://github.com/chjj/tty.js/ aujourd'hui, et elle fonctionne bien, vous pouvez avoir un essai.

4
répondu jeswang 2013-08-14 13:44:53

vous vous Demandez comment se fait que personne n'a mentionné à propos de http://shellinabox.com . J'ai évalué shellinabox & ajaxterm. Shellinabox est plus rapide qu'ajaxterm (Je ne connais pas les détails internes). En outre, shellinabox peut se connecter à un utilisateur sans avoir besoin de donner à l'utilisateur un accès SSH explicite (pas sûr que ce soit un grand plus).

Shellinabox a cependant des problèmes à l'intérieur d'une iframe. Mais si vous cherchez à exécuter quelque chose de autonome pour accéder à votre serveur, devinez shellinabox est le meilleur pari.


j'ai été en cours d'exécution Tutoriel Sur Les Rails site depuis quelque temps maintenant. I eventually deployed Gateone -https://github.com/liftoff/GateOne mais il a eu pas mal de problèmes avec les combinaisons navigateur + OS. Finalement nous avons créé notre propre pseudo terminal (il ne supporte pas vim etc). Cochez https://github.com/pocha/terminal-codelearn