script和scriptreplay在絕大多數(shù)GNU/Linux發(fā)行版中都是可用的,script用于將屏幕會(huì)話記錄到一個(gè)文件中,scriptreplay用于將記錄的屏幕會(huì)話進(jìn)行回放,下面我們來(lái)看具體是怎么樣實(shí)現(xiàn)的:
我們可以這樣開始來(lái)記錄屏幕會(huì)話:
$ script -t 2> timing.log -a output.session/p>
p>$ type commands; #此時(shí)就像我們平時(shí)一樣,該輸入什么輸入什么,就當(dāng)什么也沒(méi)有發(fā)生。/p>
p> ...../p>
p> ...../p>
p> exit #可能會(huì)輸入N多命令,你覺得只需要記錄到這里了,那就輸入exit來(lái)結(jié)束它。
說(shuō)明:上面有兩個(gè)配置文件(timing.log、 output.session)作為參數(shù)傳遞給了script命令,其中timing.log文件用來(lái)存儲(chǔ)每個(gè)命令運(yùn)行的時(shí)間信 息,output.session文件用來(lái)存儲(chǔ)命令輸出(實(shí)際上也就是屏幕輸出)。-t 用于將時(shí)間數(shù)據(jù)dump to stderr,因此我們用2>將stderr重定向到timing.log,timing.log和output.session當(dāng)然是可以自定義 的。
在同一路徑下,我們可以利用這兩個(gè)文件來(lái)回放屏幕會(huì)話:
$ scriptreplay timing.log output.session/p>
p> ..../p>
p> .... #此處就是需要輸出的內(nèi)容了。
很簡(jiǎn)單吧,另外我們只需要將這兩個(gè)文件共享給別人,其它人就可以看這個(gè)“視頻”了,當(dāng)然不足之處是沒(méi)有聲音,但是有個(gè)相當(dāng)大的好處,文件會(huì)相當(dāng)小,適合在互聯(lián)網(wǎng)上傳輸。
接下我們看怎么在命令行下實(shí)現(xiàn)實(shí)時(shí)廣播,這種方法特適合教學(xué),而且絕對(duì)的流暢。
首先打開兩個(gè)terminals,terminal1和terminal2。
1、在terminal1上輸入如下命令:
$ mkfifo scriptfifo #文件名可以自定義
2、在terminal2上輸入如下命令:
$ cat scriptfifo #當(dāng)然要找對(duì)路徑
3、回到terminal1,然后輸入如下命令:
$ script -f scriptfifo/p>
p> $ type commands ;/p>
p> $ ....../p>
p> $ ...... #可能會(huì)輸入N多命令,當(dāng)你不需要廣播時(shí),輸入exit然后回車。
這樣,如果你的學(xué)生打開的是terminal2,他/她就可以實(shí)時(shí)地看到你(老師)是怎么樣操作的了。