Onway

我是一只菜菜菜菜鸟...
posts - 61, comments - 56, trackbacks - 0, articles - 34

bash script写的gnome桌面小闹钟

Posted on 2012-03-09 18:39 Onway 阅读(678) 评论(2)  编辑 收藏 引用 所属分类: 码儿快跑
上图好像没什么意思吧?zenity的界面。
      

/Files/Onway/oalarm.bash.txt

oalarm文档

概要:
    oalarm是一个基于gnome,mplayer,at,date,zenity等命令的,使用bash script写成的简陋桌面闹钟。

功能:
    定时任务的新建,查看,延迟,删除,提醒。

安装要求:
    存在gnome-session进程,/usr/bin下存在at,zenity,mplayer程序,$HOME目录下存在.config/autostart和.local/share/applications两个目录。

安装:
    下载oalarm.bash之后,添加运行权限,在桌面图形环境下运行脚本(不需要root权限)。这时会检查zenity命令和gnome-session进程的存在。gnome-session的检查是为了保证能使用zenity命令创建界面。如果缺乏任何一个,则在标准输出后直接退出。

    首次运行脚本会出现安装选项。
    安装过程会先在/usr/bin目录下检查at,mplayer,zenity三个命令,如果缺少任何一个,标准输出错误后退出。
    安装过程还会检查两个目录:$HOME/.config/autostart和$HOME/.local/share/applications,如果缺乏任何一个,安装失败。在这两个目录会各写入一个.desktop文件,分别用于登录图形界面后运行一次脚本检查过期任务和在应用附件栏目添加运行图标。分别执行的命令是:
    $HOME/.oalarm/oalarm.bash --check
    $HOME/.oalarm/oalarm.bash --start

    其后会在$HOME目录下创建隐藏目录.oalarm和两个在子目录past,wait,分别用于存放过期任何和等待任务。oalarm.bash会复制自身到该目录下。

    如果存在/usr/share/sounds/gnome/default/alerts/bark.ogg该声音文件,则会被复制到.oalarm目录下并命名为voice,用于提示任务时使用mplayer进行播放。可以将voice文件替换为喜欢的提示声音。

卸载:
    安装后启动oalarm,会出现卸载选项。
    卸载行为是:
    删掉.oalarm目录和两个.desktop文件。记得为声音文件作备份。

任务文件格式:
    使用年月日时分命名。文件内第一行为任务标题,新建任务时必须填入,第二行至文件尾为任务内容,可选。

原理:
    下载的oalarm.bash,不带参数运行,是安装前使用,安装后之后可以删掉。
    从应用程序-附件栏目的图标启动是带--start参数运行$HOME/.oalarm/oalarm.bash。用于新建,查看,延迟和删除任务。
    登录图形界面后,带参数--check自动启动$HOME/.oalarm/oalarm.bash,用于检查关机或者登出图形界面期间到期的任务。延迟10秒之后开始检查。
    图形界面登录期间,如果任务到期,则由atd守护进程带--check和任务文件名两个参数启动$HOME/.oalarm/oalarm.bash。然后oalarm.bash从wait目录下的文件提取信息进行提示。(如果voice文件不存在,则提示没有声音)

    两个重要的假定:
    1,使用如下命令判断使用已经登录图形界面:
        ps -eo ruid,comm | grep $UID.*gnome-session
    2,$HOEM/.config/autostart下的.desktop文件指定的程序会在登录图形界面后自动运行。

行为:
    在任务提醒之后选择延迟和在等待任务中选择延迟是有区别的。如果选择延迟时间的时候取消了,则提醒之后的延迟会被放弃,任务被移到过期任务。

bugs:
    1,由于命名任务文件的时候没考虑到,同一个时间只能有一个任务,否则会被覆盖。
    2,选择时间的方式有点别扭,但我也不知道怎么办。
    3,延迟功能必须重新选择日期时间,有点不厚道

关于:
    oalarm 0.1.0
    By Onway 2012-03-06

    debug yourself or report to:
    blog: www.cppblog.com/onway
    mail: aluohuai@126.com

    如果本程序让你错过了和女友的约会,或者把水烧干了,或者出现其他问题,本人概不负责

Feedback

# re: bash script写的gnome桌面小闹钟  回复  更多评论   

2012-03-24 17:17 by 朱俊
Linux only?

# re: bash script写的gnome桌面小闹钟  回复  更多评论   

2012-03-25 13:02 by Onway
主要满足$HOEM/.config/autostart下的.desktop文件指定的程序会在登录图形界面后自动运行,然后其他的一些依赖程序能装上就应该可以了。
还有我不知道bash和其他shell的区别。@朱俊

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理