如何以Web的形式实时显示terminal中的内容?

2013-03-07 10:35:51 +08:00
 ithelloworld
执行一段脚本,可以在terminal中看打印输出结果。
如果想在网页,浏览器中检视此事,能不能办到?
就像Ubuntu软件安装一样,安装界面点击“详细”可看到执行的详细安装信息。
4786 次点击
所在节点    程序员
11 条回复
ratazzi
2013-03-07 10:45:11 +08:00
python 的话用 subprocess.Popen 调用脚本,再通过 websocket 一类的将标准输出输出到浏览器
luztak
2013-03-07 10:54:51 +08:00
运行一个shell,把socket的io设置成stdin/stdout.
这个在Windows上能用,Linux没测试.
从某本书上看的.
amoblin
2013-03-07 11:18:41 +08:00
ithelloworld
2013-03-07 12:30:08 +08:00
@amoblin 这个支持的命令好像不多呀
amoblin
2013-03-07 12:31:32 +08:00
@ithelloworld 大致看了下,没细研究。如果不要求实时的话,可以用一下Marboo Shell: http://marboo.biz/guide/#marboo-shell
ericFork
2013-03-07 13:19:08 +08:00
@ratazzi +1, 我们就是这么做的
zodiac1111
2013-03-07 18:42:40 +08:00
我知道有用shellinabox的(比如落云).看看是不是你的需要.
darasion
2013-03-07 18:47:42 +08:00
wangkangluo1
2013-03-08 13:47:30 +08:00
wangkangluo1
2013-03-08 13:49:42 +08:00
@wangkangluo1 长期使用shellinbox,其他有
Ajaxterm
Anyterm
Commando.io
Gate One
WebShell
tty.js
但推荐shellinbox.
BOYPT
2013-03-08 15:24:01 +08:00
如果要只看不输入的话也没什么困难的,Popen stdout喂queue,web线程消费queue,ajax定时刷新这个接口,append到DOM就是了。

为了避免内存泄漏什么的,当然最好用环队列。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/62190

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX