浏览器中的SSH终端

时间:2012-05-24 19:34:41

标签: ruby ssh terminal

我想在网络浏览器中实现ssh终端客户端。我需要在ruby中为ssh连接实现服务器。有一个net / ssh库,但我不知道如何处理像vim或午夜指挥官这样的全屏程序。

1 个答案:

答案 0 :(得分:3)

让我尝试重新解析您的问题:您正试图在Web浏览器上模拟SSH控制台会话。您似乎已经为大多数命令实现了简单的控制台输入/输出,但是当您尝试使用“vim”或午夜指挥官等全屏命令时,似乎会出现垃圾。

您遇到的问题与UN * X机器如何处理终端上的全屏控制台输出有关。全屏控制台应用程序查询terminfo / termcap库以确定清除屏幕,删除行,插入行,将光标放在特定点等所需的转义序列。您所看到的是这些的原始输出转义序列出现在默认的终端类型中,这很可能是基于ANSI的。

要解决您的问题,您必须:

  1. 确定您的控制台应用程序模拟的终端类型 - 或者您可以强制它确定。
  2. 通过查询termcap / terminfo数据库解码终端类型的转义序列。
  3. 在您的网络浏览器应用上实施终端功能。
  4. 根据您用于实现浏览器应用程序的技术堆栈,您可能能够找到其他人可能已经开发的库来解决此问题。

相关问题