Terminal 什么';这是一个很好的基于浏览器的终端仿真器吗?

Terminal 什么';这是一个很好的基于浏览器的终端仿真器吗?,terminal,webbrowser-control,terminal-emulator,Terminal,Webbrowser Control,Terminal Emulator,我们有几个curses风格的应用程序,我们希望通过基于浏览器的界面提供对它们的访问 我们有一个来自另一家供应商的应用程序,它表面上是基于旧版本的提供此功能的,但该applet不能很好地处理大小调整等问题,并且对回滚缓冲区和复制/粘贴的支持相对较差 在这个基于Ajax的界面的时代,我很好奇是否有好的、免费的解决方案 多亏了这个网站,我看到了对Reflection基于web的终端模拟器的引用, 但这对我们的需求来说可能太贵了 我见过的一些潜在候选人包括 无论如何 阿贾克斯特姆 没有滚动条 但是我还没

我们有几个curses风格的应用程序,我们希望通过基于浏览器的界面提供对它们的访问

我们有一个来自另一家供应商的应用程序,它表面上是基于旧版本的提供此功能的,但该applet不能很好地处理大小调整等问题,并且对回滚缓冲区和复制/粘贴的支持相对较差

在这个基于Ajax的界面的时代,我很好奇是否有好的、免费的解决方案

多亏了这个网站,我看到了对Reflection基于web的终端模拟器的引用, 但这对我们的需求来说可能太贵了

我见过的一些潜在候选人包括

  • 无论如何
  • 阿贾克斯特姆

    没有滚动条


  • 但是我还没有机会做详细的评估。

    我经常使用Ajaxterm作为从任何地方管理web服务器的简便方法。在我改用Chrome作为主要浏览器之前,它对我来说一直很好。Ajaxterm在Firefox和IE8上运行良好,但在Chrome、Safari和Opera上无法使用

    我发现在Chrome、Safari和Opera上,很多“特殊”键都无法传递到Ajaxterm,包括backspace、箭头键、ctrl+c、ctrl+h、home、end等。Opera更糟糕:当你按下shift键时,按键会被转换成^p,因此你无法键入大写字母。这些东西对我来说是一种阻碍;它们也可能是你的表演障碍

    在我尝试过的所有浏览器中,包括IE6,Anyterm都很适合我

    其他需要牢记的事项:

    • Anyterm在运行时保持连接持续打开,并为按键使用第二个连接。所有浏览器对单个主机的并发连接数都有限制。IE7及以下版本有两个并发连接的限制(根据HTTP规范的要求),因此Anyterm的单个实例可以在大部分时间内最大限度地连接到该主机。不过,只要对任何术语使用单独的主机名,这就相当容易解决
    • Ajaxterm轮询更新,因此它不会一直保持连接打开。它对按键和屏幕更新使用相同的连接。另一方面,屏幕并不总是尽快更新,每次屏幕更新的网络开销更大
    • Ajaxterm可以一次性更新整个屏幕,甚至可以更改单个字符。Anyterm仅更新已更改的屏幕部分。哪一个更快是有争议的;不管怎样,整个屏幕通常可以放在一个数据包中,而Anyterm的方法在服务器端和客户端都有更大的处理开销

    注意:我对Ajaxterm的评论基于Ajaxterm 0.10。我还没有尝试过0.11,它显然包括“小补丁”。我对Anyterm的评论基于他们网站上的演示。我实际上并没有在生气时使用它。

    想知道为什么没有人提到它。我评估了shellinabox和ajaxterm。Shellinabox比ajaxterm快(我不知道内部细节)。此外,shellinabox可以登录用户,而无需为用户提供显式ssh访问权限(不确定这是否是一个很好的优点)

    但是Shellinabox在iframe内部运行时存在问题。但是,如果您希望运行一些独立的程序来访问服务器,那么shellinabox是最好的选择



    我已经运行该网站一段时间了。我最终部署了Gateone-‎ 但它在浏览器+操作系统组合方面存在不少问题。最后,我们创建了自己的伪终端(它不支持vim等)。检查。

    我今天试过,效果很好,你可以试试。

    谁在使用iframe?:p我必须说,shellinabox在我的使用案例中帮助了我,我在Windows XP和Chromium上遇到了特殊的字符问题:请看一点澄清:Gate One在代理之后确实有效。它只是不能通过一些代理工作。多年来一直未更新的代理软件会中断,SSL代理也会破坏连接(这是一个安全问题)。我认为这没有足够的投票权。使用
    npm install-g
    安装非常简单,效果非常好。非常流行的开源项目。不错,但似乎缺少Unicode支持,似乎不允许您重新连接到正在运行的会话。但我做这些事情。