【发布时间】:2012-05-31 10:18:37
【问题描述】:
我想在网络浏览器中实现 ssh 终端客户端。我需要为 ruby 中的 ssh 连接实现服务器。有一个 net/ssh 库,但我不知道如何处理像 vim 或午夜指挥官这样的全屏程序。
【问题讨论】:
-
你的问题到底是什么?
-
很抱歉造成混淆。我没有确切的问题要问,我只需要通过谷歌搜索找到实现我的应用程序的方向。
我想在网络浏览器中实现 ssh 终端客户端。我需要为 ruby 中的 ssh 连接实现服务器。有一个 net/ssh 库,但我不知道如何处理像 vim 或午夜指挥官这样的全屏程序。
【问题讨论】:
让我尝试重新解析您的问题:您正在尝试在 Web 浏览器上模拟 SSH 控制台会话。您似乎已经为大多数命令实现了简单的控制台输入/输出,但是当您尝试像“vim”或午夜指挥官这样的全屏命令时,似乎出现了垃圾。
您看到的问题与 UN*X 机器如何处理终端上的全屏控制台输出有关。全屏控制台应用程序参考 terminfo/termcap 库来确定清除屏幕、删除一行、插入一行、将光标放在特定点等所需的转义序列。你看到的是这些的原始输出为默认终端类型出现的转义序列,很可能是基于 ANSI 的。
要解决您的问题,您必须:
根据您用于实现浏览器应用程序的技术堆栈,您可能能够找到其他人开发的用于解决此问题的库。
【讨论】: