Tag Archives: terminal

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

在某些教学环境下,老师需要讲解某些shell操作,然而学生无法现场观看终端操作,则就出现了需要“直播”一个终端操作的需求。
在FreeBSD下,有一个watch命令,可以与snoop设备–snp(4)配合 来实现,只需要简单地执行watch ttyXX即可,XX为你需要观看的教师演示用终端编号。
然而在其他操作系统下,却并无这个命令,要实现这个目的,还有以下2个方法:

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

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