通過Linux命令實現螢幕錄製和回放

jeanron100發表於2015-01-04

平時在工作學習中如果可以錄屏的話,那麼在以後能夠再看真是很難得的學習資料。有些遠端的操作都是命令列,如果使用錄屏軟體,可能佔用的空間極大。其實Linux中可以通過命令列來實現螢幕錄製和螢幕回放。
如果自己需要給別人演示一些操作,可能事先已經準備好了,在演示的時候只需要播放即可。
或者在系統升級的時候需要保留必要的日誌,在以後可以更加有針對性的總結,都可以通過螢幕錄製功能來完成。
我們需要系統中已經安裝script,scriptreplay.
比如我們可以通過如下的方式來完成。簡單執行幾個命令,然後通過回放來看是否能夠一步一步的輸出。
$ script -t 2> time.log -a record.session
Script started, file is record.session
$ echo test begin
test begin
$ echo test start
test start
$ echo test end
test end
$ exit
exit
Script done, file is record.session

到此螢幕的錄製就結束了,我們通過scriptreplay來回放這個過程。
$ scriptreplay time.log record.session
輸入這個命令之後,你就會看到螢幕好像被人操縱了一樣,一步一步的執行命令,然後輸出,感覺很有成就感。
如果你需要在別的機器上檢視這個過程,可以把time.log和record.session這個兩個生成的檔案拷貝過去,直接執行命令即可。
時間戳檔案的內容如下。都是記錄了一點點的操作時間資訊。
$ cat time.log
0.350314 17
0.052705 1
1.176860 1
0.241008 1
0.064975 1
。。。。
而record.session這個檔案就是個日誌檔案,裡面記錄了每一步操作的內容。

Script started on Sun 04 Jan 2015 05:13:46 AM PST
$ echo test begin
test begin
$ echo test start
test start
$ echo test end
test end
$ exit
exit

Script done on Sun 04 Jan 2015 05:14:05 AM PST

以上的功能能夠極大的提高我們的工作效率,畢竟很多問題的排查中都需要日誌,都需要一些細節的操作內容資訊。這些資訊就相當於完整的回放了問題的處理過程。
如果你還不滿足於此,可以試試實時分享螢幕內容給其他人,其他人不需要裝其他的視訊軟體就能夠看到你所有的操作。
畢竟視訊的錄製還是需要很多的資源的。
經過反覆嘗試,發現這個操作在兩個人之間共享輸出還是正常的,如果多個session,可能有些操作內容會不太完整。
我們開啟兩個session來操作。假設session1和session2都在同一個伺服器端,同一個目錄下。
session1 建立fifo的日誌。
>mkfifo fifo.log

session2 開始準備監聽
>cat fifo.log
session1 開始準備輸出
>script -f fifo.log
Script started, file is fifo.log
$ ls   --這個時候我們的任何操作在session2中都會捕捉到。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1389932/,如需轉載,請註明出處,否則將追究法律責任。

相關文章