119 lines
2.9 KiB
Bash
Executable File
119 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# startkiosk.sh
|
|
|
|
source /etc/openkiosk.conf
|
|
|
|
function check_conf() {
|
|
debuglog "Checking configuration file for changes."
|
|
new_conf_md5=`md5sum /etc/openkiosk.conf|cut -d " " -f1`
|
|
debuglog "New config file checksum: $new_conf_md5"
|
|
curr_conf_md5=`cat /home/customer/curr_conf_md5.txt`
|
|
debuglog "Current config file checksum: $curr_conf_md5"
|
|
diff <(echo $new_conf_md5) <(echo $curr_conf_md5) >/dev/null 2>&1
|
|
if [ "$?" -eq "1" ]
|
|
then
|
|
debuglog "Config file has changed!"
|
|
echo $new_conf_md5 > /home/customer/curr_conf_md5.txt
|
|
debuglog "Killing browser"
|
|
$KILL_CMD
|
|
$CLEANUP_CMD
|
|
return 1
|
|
else
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
function check_url() {
|
|
debuglog "Checking URL for changes"
|
|
new_url_md5=`wget -q -o /dev/null -O - $TGT_URL|md5sum|cut -d " " -f1`
|
|
debuglog "New URL checksum: $new_url_md5"
|
|
curr_url_md5=`cat /home/customer/curr_url_md5.txt`
|
|
debuglog "Current URL checksum: $curr_url_md5"
|
|
diff <(echo $new_url_md5) <(echo $curr_url_md5) >/dev/null 2>&1
|
|
if [ "$?" -eq "1" ]
|
|
then
|
|
debuglog "URL has changed!"
|
|
echo $new_url_md5>/home/customer/curr_url_md5.txt
|
|
debuglog "Killing browser"
|
|
$KILL_CMD
|
|
$CLEANUP_CMD
|
|
return 1
|
|
else
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
function debuglog() {
|
|
if [ "$DEBUG" -eq "1" ]
|
|
then
|
|
if [ ! -e "/home/customer/startkiosk.log" ]
|
|
then
|
|
echo "startkiosk log started : "`date +%Y-%m-%d %H:%M:%S` > /home/customer/startkiosk.log
|
|
fi
|
|
echo `date +%H:%M:%S` "$1">>/home/customer/startkiosk.log
|
|
fi
|
|
}
|
|
|
|
function set_blank_params() {
|
|
if [ "$INHIBIT_BLANK" -eq "1" ]
|
|
then
|
|
xset s off
|
|
xset -dpms
|
|
else
|
|
xset s off
|
|
xset +dpms
|
|
xset dpms $DSP_STBY_SEC $DSP_SUSP_SEC $DSP_OFF_SEC
|
|
fi
|
|
}
|
|
|
|
function set_rot_params() {
|
|
output_name=`xrandr --listactivemonitors|grep 0:|rev|cut -d " " -f1|rev`
|
|
xrandr --output $output_name --rotate $ROTATION
|
|
}
|
|
|
|
openbox-session &
|
|
sleep 1
|
|
set_blank_params
|
|
$KILL_CMD
|
|
$CLEANUP_CMD
|
|
|
|
# start application
|
|
$APP_CMD &
|
|
|
|
sleep 3
|
|
|
|
new_url_md5=`wget -q -o /dev/null -O - $TGT_URL|md5sum|cut -d " " -f1`
|
|
echo $new_url_md5>/home/customer/curr_url_md5.txt
|
|
new_conf_md5=`md5sum /etc/openkiosk.conf|cut -d " " -f1`
|
|
echo $new_conf_md5 > /home/customer/curr_conf_md5.txt
|
|
|
|
while true
|
|
do
|
|
|
|
debuglog "Monitoring for URL and config file changes..."
|
|
# Pull in changes in the configuration file
|
|
debuglog "Reading config file"
|
|
source /etc/openkiosk.conf
|
|
|
|
if ! pgrep $ALIVE_STRING
|
|
then
|
|
# relaunch application if it terminates
|
|
debuglog "Restarting browser"
|
|
$APP_CMD &
|
|
fi
|
|
|
|
if [ "$POLL_INTERVAL" -eq "0" ]
|
|
then
|
|
sleep 1
|
|
debuglog "Polling not enabled"
|
|
if ! check_conf; then set_blank_params;set_rot_params;fi
|
|
else
|
|
sleep $POLL_INTERVAL
|
|
debuglog "Polling enabled"
|
|
if ! check_conf; then set_blank_params;set_rot_params;fi
|
|
check_url
|
|
fi
|
|
done
|
|
|
|
exit 0
|