#!/bin/sh
set -x
IDLE_TIME=$((5000))
trigger_cmd() {
zenity --question --title="Бездействие пользователя" \
--text="Вы возле компьютера?" \
--timeout=10
if [ $? -eq "0" ]
then
triggered=false
sleep_time=$((IDLE_TIME-idle+100))
else echo 1>/dev/ttyUSB2
triggered=true
sleep_time=$IDLE_TIME
fi
}
sleep_time=$IDLE_TIME
triggered=false
while [ 0 ]
do
read R < /dev/ttyUSB2
if [ "$R" = "Sleep" ]
then
echo "Test"
fi
idle=$(xprintidle)
if [ $idle -ge $IDLE_TIME ]; then
if ! $triggered; then
trigger_cmd
fi
fi
sleep 1
done
Потому что xprintidle с read отказывается считать время бездействия.