平時在工作學習中如果可以錄屏的話,那麼在以後能夠再看真是很難得的學習資料。有些遠端的操作都是指令行,如果使用錄屏軟體,可能占用的空間極大。其實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
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中都會捕捉到。