首页 > 代码库 > Ubuntu 14.04下使用crontab定时弹出窗口

Ubuntu 14.04下使用crontab定时弹出窗口

  由于本人经常做事情太投入而没有注意时间,晚上到点了却没有给女友打电话,搞得女友有点小小不开心,因此我萌生一个想法:设定一个定时任务,每晚到点了就弹出一个窗口,提醒我该联系女友了。开工!

  

首先装好mail功能(sudo apt-get install mailutils,然后会弹出窗口,选择Internet,即所有选项的第二个),因为如果有出什么错误(有额外的输出),crontab会发邮件到指定地点(/etc/crontab中的MAILTO参数)。
 
然后尝试由crontab来运行一个xterm,发现有一封报错邮件,说是DISPLAY参数没有设定,参考两个链接:
http://bbs.chinaunix.net/thread-4058031-1-1.html
http://promberger.info/linux/2009/01/02/running-x-apps-like-zenity-from-crontab-solving-cannot-open-display-problem/
我自己也查了一下当前用户的DISPLAY变量,是 ":0"。因此按照第一个帖子的做法,写成:
     * * * * * export DISPLAY=:0.0 && /usr/bin/gedit (每分钟在X Windows上打开一次gedit)
我的DISPLAY后面没有加.0的部分,也是可以的。
 
搞定之后,我把要显示的信息用一个文本记录下来,然后用crontab启动gedit来打开这个文本,并给gedit设置一下要打开的目标文件,我们的目标就达成了~~女友也开心了不少~~
 
最后附一篇关于DISPLAY变量的文章地址:
http://blog.chinaunix.net/uid-23072872-id-3388906.html
上面有提这个变量是做什么用的。
更多相关内容可以通过如下命令查看:
  $ man X

Ubuntu 14.04下使用crontab定时弹出窗口