這裡我們就要介紹如何使用這兩個指令工具,在命令列中擷取 Linux 的登入畫面。
首先安裝 imagemagick:
sudo apt-get install imagemagick
接著建立一個簡單的 script 檔,他的功用就是抓取螢幕的畫面
echo 'chvt 7; sleep 5; DISPLAY=:0 XAUTHORITY=/run/lightdm/root/:0 xwd -root; chvt 1' > /tmp/shot.sh
這裡的 XAUTHORITY 所指定的檔案有時後會因為不同的環境而不同,可能要自己注意。而 chvt 7 與 chvt 1 則是切換 virtual terminal 的指令,上面這個指令會先切換至 virtual terminal 7,也就是視窗環境的登入畫面,等待 5 秒後擷取畫面,再切換回 virtual terminal 1。
接下來就是要開始抓去畫面了,這時候你必須把桌面登出,讓畫面呈現準備登入的狀態(因為就是要抓取登入畫面啊)。
接著,按下 Ctrl + Alt + F1,這時候就會切換到文字模式(console),在文字模式下輸入帳號密碼登入。
如果不想在同一台電腦使用文字模式,也可以使用 SSH 從別台電腦遠端連線進來。
接著開始擷取畫面,執行:
sudo bash /tmp/shot.sh > /tmp/shot.xwd
這樣登入畫面就會被擷取出來,並儲存在 shot.xwd 這個檔案中,這時候就可以離開文字模式了,登出之後,再按 Ctrl + Alt + F7 就可以回到 XWindow 的視窗環境。
接著要把 xwd 圖檔轉換為一般常用的 JPG 檔:
convert -quality 50 /tmp/shot.xwd /tmp/shot.jpg
也可以轉換為 PNG 檔:
convert /tmp/shot.xwd /tmp/shot.png
這樣就大公告成了!
沒有留言:
張貼留言