veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 6143|回复: 10

每隔一定时间提醒休息的SHELL脚本

[复制链接]
发表于 2010-4-28 23:12 | 显示全部楼层 |阅读模式
天天坐在电脑前的朋友要每隔一段时间活动一下了,不然身体会变得越来越差。下面的shell脚本可以每隔一段时间来提醒你。

#!/bin/bash
# Usage: ./break.sh  mins  2>1 1>/dev/null
function time_stop
{
n=1
while ((n<60))
do
        sleep ${min}
        ((n+=1))
done
}
min=$1
while true
do
    time_stop
    info="$USERNAME\n ${min} minutes have past\nYou need to take a break!
\n为了健康,休息一下,活动一下胳膊,脖子,腰部"
    note="info"
    Xdialog --title $note --beep --msgbox "${info}" 15 50
    Xdialog --title $note --beep --inputbox "休息一下吧!\n Take a break[y/n]?" 10 30 2>tmp$$
    input=`cat "tmp$$"|sed -n '$p'`
    case ${input} in
        e)    break;;
            y)      continue;;
            n)      gnome-screensaver-command -l; continue;;
            *)      Xdialog --title $note --no-buttons --infobox "invalidate input!" 4 20;continue;;
        esac
done
rm tmp$$



使用方法:
首先将上述代码保存为break.sh ,然后在SHELL终端中找到该文件所在处,然后输入./break.sh 30 2>1 1>/dev/null &
其中的“红色30”可以改为你想要被提醒的时间,这样每到30分钟,系统就会提醒你该休息放松一下啦!


[ 本帖最后由 star2523 于 2010-4-28 23:35 编辑 ]
发表于 2010-4-28 23:30 | 显示全部楼层

回复 1# 的帖子

楼主自己写的吗?可以很方便的做成图形界面的程序呀,有空研究一下。

如果是楼主原创的,我就把它转成图形界面的看看。
发表于 2010-4-28 23:31 | 显示全部楼层
谢谢分享
 楼主| 发表于 2010-4-28 23:47 | 显示全部楼层
原帖由 403250936 于 2010-4-28 23:30 发表
楼主自己写的吗?可以很方便的做成图形界面的程序呀,有空研究一下。

如果是楼主原创的,我就把它转成图形界面的看看。


不好意思,代码不是我写的,我也是坐在电脑前感到很累了,就想找找有没有这种定时提醒的程序,结果看到一般都是VBS的脚本,后来才找到一个用SHELL写的脚本,然后就稍加修改,那里面的汉字就是我添加的,不过感觉还是不太方便,因为要想完全终止提醒,还得在终端里面将已经运行脚本的进程号杀掉才行,就是输入:kill 进程号。

如果你有兴趣的话,完全可以把它再做成图形化的可安装程序啊,弄成PET贡献出来给大家使用额!在此先谢过罗!
发表于 2010-4-29 00:09 | 显示全部楼层

回复 4# 的帖子

做成图形界面很倒容易,不过这类软件有个很好用的,我去搜索下看能不能找到发上来。
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2024-4-29 06:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表