红联Linux门户
Linux帮助

Ubuntu利用crontab和notify-send定时发送桌面通知,提示该休息

发布时间:2017-06-01 10:01:15来源:linux网站作者:everest33
【经测试,每隔多少分钟执行并不像自己想象的一样】
比如:每隔50分钟执行一次提醒      */50 * * * * export DISPLAY=:0.0; notify-send -i /home/ths/图片/33.jpg "休息" "[该休息了]喝点水,出去走走"
但并不是精确的每隔50分钟执行一次,而是每隔小时的第50分钟执行一下[即使你在第49分钟设置的命令,也会在一分钟后的第50分钟提醒!],然后整小时的时候执行一次。
 
一个替代的方法就是用shell脚本:
#!/bin/sh
i=1
while i=1
do
notify-send -i /home/ths/图片/33.jpg "休息" "[该休息了]喝点水,出去走走"
sleep 3000
done
 
notify-send
notify-send 是 Linux 下发送通知到桌面的命令行程序。Ubuntu16.04 会在桌面右上角出现一个通知提醒框。
 
基本用法:
1.发送一条通知内容
notify-send "这是通知的内容"
2.发送一条有标题的通知
notify-send "标题" "这是通知的内容"
3.发送一条有图片的通知
notify-send -i /home/tip.png "标题" "这是通知的内容"
 
crontab
crontab 是 Linux 下的定时任务,服务端一般用于定时重启某些服务、定时清理日志信息等。
执行命令
sudo crontab -l
查看定时任务列表,如果有的话,将会列出来
执行命令
sudo crontab -e
进入编辑 crontab 的模式下。
语法是这样的:
minute hour day month week command
Ubuntu利用crontab和notify-send定时发送桌面通知,提示该休息
 
例子:
1.每分钟都执行一次 command
* * * * * command
2.每小时的 2 和 3 分钟时执行一次 command
2,3 * * * * command
3.10 点到 18 点之间每个小时的 2 和 3 分钟都执行一次 command
2,3 10-18 * * * command
4.晚上 11 点到早上 7 点之间,每隔 2 小时重启smb
* 23-7/2 * * * /etc/init.d/smb restart
 
结合出功能--每两个小时提示用户该休息啦
执行命令 sudo crontab -e 进入定时任务编辑模式【不用sudo对当前用户生效】,在最后一行加入以下代码:
0 */2 * * * export DISPLAY=:0.0; notify-send -i /home/tip.png "休息" "滚去休息吧!!!"
保存退出即可,偶数小时的 0 分钟就会有 “去休息” 的提示。
 
Note:
要在定时任务里调用图形界面程序,需要加上 export DISPLAY=:0.0; 环境变量,告诉定时任务图形界面程序显示的屏幕。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31192.html