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