Jamyy's Weblog

Take a screen shot from command line in Linux

by Jamyy on 四月.18, 2013, under Linux

指令:

  • xwd
  • import
  • scrot

操作環境: Ubuntu 12.04 Unity 桌面

xwd

所屬套件: x11-apps, imagemagick
擷取單一視窗畫面: xwd -frame -out screenshot.xwd
擷取全螢幕畫面: xwd -root -out screenshot.xwd
擷取指定視窗畫面: xwd -id 0x4000065 -out screenshot.xwd (*註)
三秒後擷取畫面: sleep 3; xwd -root -out screenshot.xwd
檢視結果: convert screenshot.dwg screenshot.png; xdg-open screenshot.png
ssh 連線擷取遠端畫面, 並於本地檢視結果:

$ ssh -X remote.host
$ cd /dev/shm
$ xwd -display :0 -root -out screenshot.xwd
$ convert $_ $(basename $_ .xwd).png
$ xdg-open $_

import

所屬套件: imagemagick
擷取單一視窗畫面: import -frame screenshot.png
擷取全螢幕畫面: import -window root screenshot.png
擷取指定視窗畫面: import -window 0x4000065 screenshot.png (*註)
三秒後擷取畫面: import -pause 3 -window root screenshot.png
ssh 連線擷取遠端畫面, 並於本地檢視結果:

$ ssh -X remote.host
$ cd /dev/shm
$ import -display :0 -window root screenshot.png
$ xdg-open $_

scrot

所屬套件: scrot
擷取單一視窗畫面: scrot -s --border screenshot.png
擷取全螢幕畫面: scrot screenshot.png
擷取作用中視窗畫面: scrot --focused screenshot.png
三秒後擷取畫面: scrot --delay 3 screenshot.png
ssh 連線擷取遠端畫面, 並於本地檢視結果:

$ ssh -X remote.host
$ cd /dev/shm
$ DISPLAY=:0 scrot screenshot.png
$ xdg-open $_

*註: 取得視窗 ID 的方法

查詢指定視窗 ID
$ xwininfo | grep "Window id" | awk '{print $4}'

查詢所有視窗 ID
$ xwininfo -root -children | less

取得正在使用的視窗 ID
$ xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | awk '{print $NF}'

其他 GUI 截圖工具

-

Ref:



:, ,