Jan 132008
 

在某些教学环境下,老师需要讲解某些shell操作,然而学生无法现场观看终端操作,则就出现了需要“直播”一个终端操作的需求。

在FreeBSD下,有一个watch命令,可以与snoop设备–snp(4)配合 来实现,只需要简单地执行watch ttyXX即可,XX为你需要观看的教师演示用终端编号。

然而在其他操作系统下,却并无这个命令,要实现这个目的,还有以下2个方法:

  1. 用script通过一个fifo实现
    教师执行mkfifo xxx,然后script  xxx。学生直接cat xxx即可。
  2. 利用screen这个软件
    教师演示前执行screen -S xxx,学生用screen -X xxx即可。xxx是随便起的一个名字,只要双方一致即可。

第一种方法有个小问题,就是fifo的刷新是有时间的,因此学生看到的操作可能稍稍滞后于教师操作。这种方法有点是几乎所有操作系统都附带了这两个工具。第二种方法一般需要安装screen套件,但这个用起来更为舒心一些,而且更绝的是,这个方式老师和学生是可以互动的,也就是学生不仅仅是被动地看,他所敲入的命令也会反馈给老师的终端。

  4 Responses to “如何“直播”一个终端的shell操作”

  1. 微软的Microsoft.com已经确认完全升级到Windows Server 2008群集,相关的微软技术人员和博客们笑称微软在吃自己的“狗粮”(泛指测试中的软件).

  2. 1 楼上的算垃圾留言吗?
    2 最近偶mkfifo 的频率也相当大.
    还用过类似:
    mkfifo f1,f2,f3
    gzip a1.gz > f1 &


    sort -m f1 f2 f3 | gzip > sort-out.gz
    的东西… :D

  3. 好办法,这不就是当漏斗来用了么,还是可以流控的漏斗:D

  4. 也可以试试 http://www.shellshadow.com/
    特别是在客户端是windows的时候 :)

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>