我有兴趣编写一个基于web的终端,它可以在ubuntu终端中执行和自动完成命令。在python中编写一个基于web的ubuntu终端的伪终端
我已经摆弄了Anyterm,它在后端服务器上使用ROTE:“VT102终端仿真的简单C库”,终端UI使用javascript/html。问题是我无法在同一个窗口中打开两个终端。
做一些研究我已经决定写终端服务器/伪终端(无论哪个是正确的术语)在python后其可以:
- 执行(在Ubuntu终端的命令如ls,grep的等...)
- 自动完成命令(如$ gedi(按下标签页)$ gedit)
- 并且同时打开多个终端实例(当输入ls在一个时,另一个终端将不会识别ls作为自其另一个终端会话以来的最后一个命令)
我发现与pty python module我可以写一个伪终端 但是我是python的新手,我甚至无法得到该页面上的示例工作。
我打算让python脚本提供一个带有javascript/html终端的http服务器,我会写(这是我想为这个项目选择python的主要原因)。然后我想让web ui跟后台终端“服务器”通话并将结果返回到web ui。
如果你能指出我正确的方向,也许告诉我,我应该使用哪个模块 - 如果没有pty-,并给我一些关于如何编写python伪终端服务器的建议,我将不胜感激。
我知道JavaScript/PHP和熟悉bash脚本 - 在这一点上,我可以去一个基于C或基于python的后端服务器,python是否适合这个项目?
注意:我打算编写一个使用ajax post的UI或获取方法从后端服务器检索终端输出。
你混淆[“终端”和“壳”(HTTP ://superuser.com/questions/144666/what-is-the-difference-between-shell-console-and-terminal)。 –
@Ignacio Vazquez-Abrams欢迎您编辑和更正术语。 – Logan
但是,你想要的会变得稀释。我建议你看看每个目的和责任,并决定你的项目需要拆分的地方。 –