未加星标

ubuntu中实现定时弹窗的提醒脚本

字体大小 | |
[运维安全 所属分类 运维安全 | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

简单的弹窗效果

首先是上网查了ubuntu中的弹窗命令,发现notify-send这个命令就能满足要求了

notify-send ["该休息一下啦"] "喝水!伸懒腰!动一动!"

弹窗效果

ubuntu中实现定时弹窗的提醒脚本

弹窗效果有了,然后应该是一个定时弹窗的功能

一、cron命令实现定时弹窗

想到的是cron命令,google了很多教程,都没有成功

在/etc/crontab 中加入了

* * * * * root notify-send ["该休息一下啦"] "喝水!伸懒腰!动一动!"

也用命令编辑了

crontab -e

同时也启动了cron服务

server cron start

还是没有成功

终于在一个介绍crontab用法的博客终于找到我的crontab脚本不执行的原因了:没有设置环境变量!

在crontab文件中定义多个调度任务时,需要特别注环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在crontab文件中指定任务运行所需的所有环境变量

crontab脚本

HOME=/
SHELL=/bin/bash
0 * * * * notify-send ["该休息一下啦"] "喝水!伸懒腰!动一动!"

这样就实现了

二、shell脚本无限循环实现

下面是脚本:

while :
do
sleep 3600
echo time past
notify-send ["该休息一下啦"] "喝水!伸懒腰!动一动!"
done

把这个脚本加入到home目录的.bashrc中,每次登陆就能启动了

三、利用zenity和notify-send实现

#!/bin/bash
alartTime=100
while (($alartTime))
do
if (($alartTime != 100)) # 如果不是 100,则说明不是初次运行,则弹出下面的提示
then
notify-send $alartTime"分钟已到,请重新设定!"
zenity --info --text "时间到,请重新设定!"
fi
alartTime=$(zenity --entry --title "定时提醒" --text "输入提醒时间(分钟, 将忽略小数)")
alartTime=${alartTime%.*} # 忽略输入的小数点后面的数字,如 4.6 识别为 4
if (($alartTime > 60)) # 不能超过最大值
then
zenity --info --text "必须小于60分钟,退出"
break
fi
notify-send "成功设定"$alartTime"分钟,开始计时"
sleep $((alartTime*60))
done
上面的脚本,使用了 notify-send 命令用于在桌面上弹出气泡提示,使用了 zenity 命令用于显示图形窗口。
自己用的话,上面的脚本可以写得更简单一点,因为错误检测没必要做。但是如果要给不太懂的人用的话,我这脚本里的错误检测及处理则会就显得有点力不从心了。

总结

好了,终于完成了ubuntu中弹窗提醒脚本了,本文提供三种方法供大家参考借鉴,不知道大家都学会了没有,希望这篇文章的内容对大家能有所帮助,如果有疑问大家可以留言交流。

本文运维安全相关术语:linux服务器代维 linux服务器搭建 运维管理 运维工程师 企业安全文章 企业安全管理 cf安全系统检测到游戏数据异常

主题: 360变量博客
分页:12
转载请注明
本文标题:ubuntu中实现定时弹窗的提醒脚本
本站链接:http://www.codesec.net/view/485444.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 运维安全 | 评论(0) | 阅读(39)