Итак, у меня есть набор скриптов, которые используются для управления моим приемником и телевизором во время определенных событий, таких как загрузка, заставка и дистанционное управление. Один из них выполняется во время входа в систему, но дело в том, что я не хочу, чтобы он запускал script, когда машина должна была активироваться. У меня есть логика, чтобы игнорировать события, если blanked = 0 во время запуска загрузочных приложений, поэтому он не отправит ir во время загрузки или выключения. Как я могу это сделать, используя cron? Я выбираю cron, потому что эти события происходят до запуска приложений. Крон потрясающий, но насколько я понимаю, я могу работать только при загрузке или по расписанию не для обоих. Мне нужно script переменную времени, но я не уверен, как это сделать.
syson.sh(вызывается во время входа в систему как приложение для запуска и изменения состояния экрана)
#!/bin/sh
cd /home/gilson585/
blanked=`cat blanked`
if [ $blanked -eq 0 ] ; then
blanked=1;echo $blanked > blanked
else
irsend SEND_ONCE VR4085DF KEY_POWER;irsend SEND_ONCE Kenwood_RC-R0813 power;blanked=0;echo $blanked > blanked
sleep 1
irsend SEND_ONCE Kenwood_RC-R0813 cd/dvd
fi
sysoff.sh(вызванный во время выключения как часть lirc init.d script и изменение состояния экрана)
#!/bin/sh
cd /home/gilson585/
blanked=`cat blanked`
if [ $blanked -eq 0 ] ; then
irsend SEND_ONCE Kenwood_RC-R0813 power;irsend SEND_ONCE VR4085DF KEY_POWER;blanked=1;echo $blanked > blanked
fi
xscreensaver.sh(скринсейвер сторожевого таймера, вызываемый во время входа в систему)
#!/bin/bash
cd /home/gilson585/
xscreensaver-command -watch|
while read STATUS; do
case "$STATUS" in
BLANK*)
/home/gilson585/sysoff.sh;blanked=1;echo $blanked > blanked
;;
UNBLANK*)
/home/gilson585/syson.sh;blanked=0;echo $blanked > blanked
;;
esac
done