定时关机对话框提示

[关键词]: shutdown, zenity, gnome-session-save,gtk-logout-helper

===>

最近自制力有点差,每天晚上一不小心就在电脑前看东西超过12:00, 为了防止晚睡,有必要在睡觉时间到后提醒下。之前直接在cron中设置时间到后shutdown,感觉挺暴力的。最主要的是好像这样关机后,每次再开机,磁盘会check半天,不知道是否此原因导致。总之,我想的是到时间后弹出关机的对话框,就像点击gnome panel上的关机一样。于是查找了相关的调用程序,主要如下:

#!/bin/bash



zenity --question --title="Exit Options" --text="What do you want to do\?" --cancel-label="Shutdown" --ok-label="Log Out"



if [ $? = 0 ]; then

    gnome-session-save --logout-dialog

elif [ $? = 1 ]; then

    gnome-session-save --shutdown-dialog

fi

exit 0

具体的用法可以查看一下帮助文档。脚本写好后,在cron中设置即可.

# m h dom mon dow user    command

17 *    * * *    root    cd / && run-parts --report /etc/cron.hourly

25 6    * * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6    * * 7    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6    1 * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

#*/10  *    * * *    usrname    DISPLAY=:0 /home/usrname/public/notify.sh

*/30 *    * * *    usrname    DISPLAY=:0 /home/usrname/public/timer.sh

30 23     * * *    usrname  DISPLAY=:0 /home/usrname/public/shutdown.sh    #每晚23:00定时弹出关机对话框

#

另外,还有一个程序完成相同的功能. 不过,更简单一些:

#!/bin/bash



sel=$(zenity --list --title="Exit Options" --text="Make your selection" --column= "Log Out" "Reboot" "Shutdown")



if [ "$sel" = "Log Out" ]; then

    /usr/lib/indicator-session/gtk-logout-helper -l

elif [ "$sel" = "Reboot" ]; then

    /usr/lib/indicator-session/gtk-logout-helper -r

elif [ "$sel" = "Shutdown" ]; then

    /usr/lib/indicator-session/gtk-logout-helper -s

fi

exit

你可能感兴趣的:(对话框)