58 lines
1.4 KiB
Bash
58 lines
1.4 KiB
Bash
TIME_START=00:00
|
|
TIME_STOP=23:59
|
|
|
|
tv_check()
|
|
{
|
|
ping -c 1 -W 1 192.168.1.12 2>&1 > /dev/null || { echo "TV is unreachable."; return; }
|
|
adb connect 192.168.1.12
|
|
|
|
if adb shell dumpsys power | grep mWakefulness=Awake
|
|
then
|
|
adb shell input keyevent 26
|
|
else
|
|
echo "TV is turning OFF."
|
|
fi
|
|
}
|
|
|
|
gabi_check()
|
|
{
|
|
loginctl list-users | grep gabi || { echo 'Gabi is not online.'; return; }
|
|
doas loginctl terminate-user gabi
|
|
}
|
|
|
|
gaja_check()
|
|
{
|
|
ping -c 1 -W 1 192.168.1.122 2>&1 >/dev/null || { echo "Gaja's PC is unreachable."; return; }
|
|
|
|
# Check if Gaja has any sessions
|
|
sshpass -p Nagaja ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no -F /dev/null gaja@192.168.1.122 \
|
|
"loginctl list-sessions --no-pager 2>/dev/null | grep -q gaja" 2>&1
|
|
if [ $? -ne 0 ]; then
|
|
echo "Gaja is not online."
|
|
return
|
|
fi
|
|
|
|
# Terminate all of Gaja's sessions (SSH drops = success)
|
|
sshpass -p Nagaja ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no -F /dev/null gaja@192.168.1.122 \
|
|
"loginctl terminate-user gaja" 2>/dev/null
|
|
echo "Gaja's PC: logged out."
|
|
}
|
|
|
|
S=$(date -d "$TIME_START" +%s)
|
|
T=$(date -d "$TIME_STOP" +%s)
|
|
C=$(date +%s)
|
|
if [ $C -lt $S ]
|
|
then
|
|
echo "PRE: $((S - C)) seconds to go."
|
|
elif [ $C -gt $T ]
|
|
then
|
|
echo "POST: $((C - T)) seconds passed."
|
|
else
|
|
echo "ACTIVE: Executing for the next $((T - C)) seconds."
|
|
gabi_check
|
|
gaja_check
|
|
tv_check
|
|
fi
|
|
|
|
exit 0
|