Vì vậy, tôi có một tập hợp các tập lệnh được sử dụng để kiểm soát khả năng thu và truyền của tôi trong một số sự kiện như khởi động, bảo vệ màn hình và điều khiển từ xa. Một trong những điều này được thực hiện trong khi đăng nhập nhưng có lẽ tôi không muốn nó chạy kịch bản khi máy được lên lịch để tăng sức mạnh. Tôi có logic để bỏ qua các sự kiện nếu blanked = 0 trong khi thực hiện các ứng dụng khởi động, do đó nó sẽ không gửi ir trong khi khởi động hoặc tắt máy. Làm thế nào tôi có thể thực hiện điều này thông qua việc sử dụng cron? Tôi chọn cron vì những sự kiện đó xảy ra trước khi các ứng dụng khởi động. Cron là tuyệt vời nhưng theo như tôi hiểu tôi chỉ có thể chạy lúc khởi động hoặc trên một lịch trình không phải cả hai. Tôi cần phải viết kịch bản biến thời gian nhưng tôi không chắc chắn như thế nào.Kịch bản khởi động Cron chỉ trong một số thời điểm nhất định trong ngày
syson.sh (gọi tắt là trong khi đăng nhập như một ứng dụng khởi động và trạng thái màn hình thay đổi)
#!/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 (gọi tắt là trong quá trình shutdown như một phần của kịch bản lirc init.d và thay đổi trạng thái màn hình)
#!/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 (bảo vệ màn hình cơ quan giám sát, được gọi là trong khi đăng nhập)
#!/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
Tôi thậm chí không nói dối, điều này khá ấn tượng! Bất kỳ cơ hội nào bạn có thể chia sẻ thêm chi tiết về thiết lập của bạn? –
Yea nhưng có rất nhiều thứ và tôi không chắc chắn đây là nơi để đặt nó. Có lẽ tôi sẽ đăng nó lên diễn đàn ubuntu và liên kết nó. – gilson585
Bạn có thể thử kiểm soát điều này bằng cách sử dụng một tệp XML để lên lịch khi nào và khi nào không chạy? Kịch bản có thể đi qua đó và sử dụng nó như một điều khiển với một cổng logic (nếu) –