2012-10-23 4 views
10

부팅, 스크린 세이버 및 원격 제어와 같은 특정 이벤트 동안 수신자와 TV 전원을 제어하는 ​​데 사용되는 스크립트 모음이 있습니다. 이 중 하나는 로그인하는 동안 실행되지만 컴퓨터 전원이 켜지면 스크립트 실행을 원하지 않을 수도 있습니다. 시동 응용 프로그램을 실행하는 동안 이벤트를 무시하는 논리가 있는데, 부팅 또는 종료 중에 ir가 전송되지 않습니다. cron을 사용하여 어떻게이 작업을 수행 할 수 있습니까? 이러한 이벤트가 시작 응용 프로그램 전에 발생하기 때문에 나는 cron을 선택합니다. 크론은 훌륭하지만, 내가 이해할 수있는 한, 부팅시 또는 일정 둘 다에 대해서만 실행할 수 있습니다. 시간 변수를 스크립팅해야하지만 어떻게해야할지 모르겠습니다.하루 중 특정 시간에만 Cron 부팅 스크립트가 발생합니다.

#!/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 (시작 응용 프로그램 및 화면 상태 변화에 따라 로그인시라는)

syson.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 
+3

같은 스크립트 나는 거짓말조차 안할거야, 이건 정말 인상적이야! 설정에 대한 자세한 내용을 공유 할 수있는 기회가 있습니까? –

+0

그래,하지만 거기에는 그게 많아서 여기에 그걸 놓을 곳이없는 것 같아. 어쩌면 우분투 포럼에 게시하고 링크 할 것입니다. – gilson585

+3

XML 파일을 사용하여 언제 실행하지 않을지를 계획함으로써이 문제를 제어 할 수 있습니까? 스크립트는 그것을 통해 prase 수 있고 논리 게이트 (if)와 함께 컨트롤로 사용 –

답변

-1

아. 최소한 두 개의 스크립트를 사용할 수 있습니다. 시간 설정은 주/시간/분/초/등의 목록입니다.

42 * * * * /bin/execute/awesomescript.sh 

과 같은 매개 변수를 사용하여 설정합니다. 이는 매시간 42 분에 뭔가를 실행합니다. 이 페이지는 기본적으로 내가 토하는 것에 대한 설명이 있습니다 http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/

도 있습니다을

42 9,12,15 * * * /bin/stuff/awesomestuff.sh 
9시 42분, 12시 42분에서 awesomestuff.sh을 할 것입니다

및 15시 42분

관련 문제