gotty - 基于Web的实时终端展示方式 - Go语言中文社区

gotty - 基于Web的实时终端展示方式


需求

考虑这样一种教学场景

老师通过终端演示编程,学生通过浏览器观看老师的每一步动作。

方案 1

tmux 通过 socket 共享 session。

流程

搜索:maray tmux 能找到教程,本文不详述。

缺陷

学生需要懂得如何使用终端,需要一个账号登录到服务器。

方案 2

gotty

流程:

安装golang,安装gotty。

详情参考: https://github.com/yudai/gotty

老师在一个终端运行

[root@~]# gotty --reconnect --reconnect-time "2" --random-url tmux new -A -s gotty
2016/11/07 10:53:39 Server is starting with command: tmux new -A -s gotty
2016/11/07 10:53:39 URL: http://127.0.0.1:8080/e28t7gix/
2016/11/07 10:53:39 URL: http://10.11.25.162:8080/e28t7gix/
2016/11/07 10:53:39 URL: http://18.2.54.222:8080/e28t7gix/

它通过 gotty 运行了一个 tmux 程序。这时候就可以通过浏览器访问到 tmux 程序的输出内容。下面老师要在这个 tmux 里面演示写代码。

老师在另外一个终端上attach 上这个 tmux:

tmux attach -t gotty
vim ocp.php
  1. 学生在浏览器地址 http://18.2.54.222:8080/e28t7gix/ 观看老师编写 ocp.php

浏览器上看到的内容

来个对比图,左边是网页,右边是终端:

对比浏览器和终端内容-实时同步

p.s. 如果学生较少,希望学生也能参与结对编程,只需要在启动 gotty 时加上 -w 参数,学生就能在浏览器上写代码啦。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/maray/article/details/53064540
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 19:57:05
  • 阅读 ( 1152 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢