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