Linux下用命令行實現錄像(Recording and playback of terminal sessions)和廣播教學功能

script和scriptreplay在絕大多數GNU/Linux發行版中都是可用的,script用於將屏幕會話記錄到一個文件中,scriptreplay用於將記錄的屏幕會話進行回放,下面咱們來看具體是怎麼樣實現的:session

咱們能夠這樣開始來記錄屏幕會話:ide

$ script -t 2> timing.log -a output.sessionspa

$ type commands;       #此時就像咱們平時同樣,該輸入什麼輸入什麼,就當什麼也沒有發生。命令行

 .....視頻

 .....ip

 exit                  #可能會輸入N多命令,你以爲只須要記錄到這裏了,那就輸入exit來結束它。terminal

說明:上面有兩個配置文件(timing.log、output.session)做爲參數傳遞給了script命令,其中timing.log文件用來存儲每一個命令運行的時間信息,output.session文件用來存儲命令輸出(實際上也就是屏幕輸出)。-t 用於將時間數據dump to stderr,所以咱們用2>將stderr重定向到timing.log,timing.log和output.session固然是能夠自定義的。it

在同一路徑下,咱們能夠利用這兩個文件來回放屏幕會話:io

$ scriptreplay timing.log output.sessionclass

 ....

 ....          #此處就是須要輸出的內容了。

很簡單吧,另外咱們只須要將這兩個文件共享給別人,其它人就能夠看這個「視頻」了,固然不足之處是沒有聲音,可是有個至關大的好處,文件會至關小,適合在互聯網上傳輸。

 

接下咱們看怎麼在命令行下實現實時廣播,這種方法特適合教學,並且絕對的流暢。

首先打開兩個terminals,terminal1和terminal2。

一、在terminal1上輸入以下命令:

   $ mkfifo scriptfifo        #文件名能夠自定義

二、在terminal2上輸入以下命令:

   $ cat scriptfifo           #固然要找對路徑

三、回到terminal1,而後輸入以下命令:

   $ script -f scriptfifo

   $ type commands ;

   $  ......

   $  ......                   #可能會輸入N多命令,當你不須要廣播時,輸入exit而後回車。

這樣,若是你的學生打開的是terminal2,他/她就能夠實時地看到你(老師)是怎麼樣操做的了。

相關文章
相關標籤/搜索