温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-10-20 11:19:12 来源:亿速云 阅读:160 作者:iii 栏目:服务器

这篇文章主要介绍“ubuntu中如何实现定时弹窗的提醒脚本”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ubuntu中如何实现定时弹窗的提醒脚本”文章能帮助大家解决问题。

简单的弹窗效果

首先是上网查了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中如何实现定时弹窗的提醒脚本”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI