Manchmal ergibt sich die Notwendigkeit Screenshots vom HTML Seiten von der Kommandozeile aus anzufertigen. In diese Verlegenheit kommt man, wenn man versucht die DSL Statusinformationen seiner FritzBox über einen längeren Zeitraum aufzuzeichen und zu vergleichen.
apt-get install firefox imagemagick fluxbox tightvncserver
#!/bin/bash #Create screenshot of html site #param $1: Url to take screenshot from #param $2: Filename of output jpg (date is appended) function makeHtmlScreenshot() { display=11 url=$1 outfile=$2 export DISPLAY=:$display #Start X-Server vncserver :$display -geometry 1024x1024 #Start browser firefox --display=:$display "${url}" & #Wait for page to be loaded #Get Window id (with timeout) declare -i cnt cnt=0 winid="" while [ "${winid}" == "" ]; do winid=`xwininfo -tree -root | grep 1024x975 | awk '{print $1}' | head -1` sleep 2s cnt=$cnt+1 if [ $cnt -gt 20 ]; then echo "Failed to get windowid!"; exit 2 fi done #Get screenshot import -window ${winid} ${outfile}_`date +%Y-%m-%d_%H-%M-%S`.jpg #Kill everything vncserver -kill :$display }
Anmerkungen: