【发布时间】:2012-10-13 12:10:50
【问题描述】:
所以我有一组脚本,用于在某些事件(如启动、屏幕保护程序和远程控制)期间控制我的接收器和电视电源。其中之一是在登录期间执行的,但问题是我可能不希望它在机器计划启动时运行脚本。如果在启动应用程序执行期间空白 = 0,我有逻辑忽略事件,因此它不会在启动或关闭期间发送 ir。我怎样才能通过使用 cron 来做到这一点?我选择 cron 是因为这些事件发生在启动应用程序之前。 Cron 很棒,但据我了解,我只能在启动时运行或按计划运行,不能同时运行。我需要编写时间变量的脚本,但我不确定如何编写。
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 脚本和屏幕状态更改的一部分调用)
#!/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
【问题讨论】:
-
我什至不会撒谎,这真是令人印象深刻!您是否有机会分享有关您的设置的更多详细信息?
-
是的,但它有很多内容,我不太确定这里是放置它的地方。也许我会把它发布在 ubuntu 论坛上并链接它。
-
您可以尝试通过使用 XML 文件来安排何时以及何时不运行来控制它?该脚本可以通过它并将其用作带有逻辑门(如果)的控件
-
我已经开始了我的操作指南文章来实现我的设置。 ubuntuforums.org/showthread.php?t=2075279 告诉我更多关于这种 XML 的优点以及我如何在这里使用它。
-
我把这个问题看了好几遍,但我不明白你到底想用 cron 做什么,你能用简单的方式说,“我想要 x 和 y”,谢谢跨度>