我开发了一个基于django的应用程序,它使用Views与最终用户交互,然后在底层操作系统(Linux)上工作。该系统的目的是为基于Linux的系统提供用户友好的界面。使用Django和Python可以完成这项任务。现在,客户希望了解linux如何实时处理这些命令。
举一个例子来查找网站视图中的文件我有文本框,使用输入文件名并点击一个名为搜索的按钮。因此,系统可能需要最多5分钟,并在执行find命令结束时将结果返回给用户。客户不乐意坐下来看一下盘旋弹出,并希望在网页上看到linux shell或类似的内容。
==>我的问题是我如何在网页中集成Linux Shell /终端?
这个问题有其他替代方案吗?我的意思是客户不会介意我是否可以通过刷新屏幕向Shell的stdout发送新行来显示linux命令行输出。
请指教。 感谢。
答案 0 :(得分:1)
您可以查看shellinabox或wetty。随着时间的推移,两者都得到了维护。
引自shellinabox:
Shell In A Box实现了一个Web服务器,可以将任意命令行工具导出到基于Web的终端模拟器。任何支持JavaScript和CSS的Web浏览器都可以访问此模拟器,并且不需要任何其他浏览器插件。 shellinaboxd守护程序实现了一个侦听指定端口的Web服务器。 Web服务器发布一个或多个将在实现为AJAX Web应用程序的VT100仿真器中显示的服务。
引自wetty
通过HTTP和HTTPS终端。 Wetty是ajaxterm / anyterm的替代品,但比他们好得多,因为wetty使用ChromeOS的终端模拟器(hterm),这是一个完全用Javascript编写的终端模拟的完整实现。它还使用websockets代替Ajax,因此响应时间更长。
Wetty也有一个dockerized版本。