簡單的彈窗效果
首先是上網(wǎng)查了ubuntu中的彈窗命令,發(fā)現(xiàn)notify-send這個(gè)命令就能滿足要求了
notify-send ["該休息一下啦"] "喝水!伸懶腰!動(dòng)一動(dòng)!"
彈窗效果

彈窗效果有了,然后應(yīng)該是一個(gè)定時(shí)彈窗的功能
一、cron命令實(shí)現(xiàn)定時(shí)彈窗
想到的是cron命令,google了很多教程,都沒有成功
在/etc/crontab 中加入了
* * * * * root notify-send ["該休息一下啦"] "喝水!伸懶腰!動(dòng)一動(dòng)!"
也用命令編輯了
crontab -e
同時(shí)也啟動(dòng)了cron服務(wù)
server cron start
還是沒有成功
終于在一個(gè)介紹crontab用法的博客終于找到我的crontab腳本不執(zhí)行的原因了:沒有設(shè)置環(huán)境變量!
在crontab文件中定義多個(gè)調(diào)度任務(wù)時(shí),需要特別注環(huán)境變量的設(shè)置,因?yàn)槲覀兪謩?dòng)執(zhí)行某個(gè)任務(wù)時(shí),是在當(dāng)前shell環(huán)境下進(jìn)行的,程序當(dāng)然能找到環(huán)境變量,而系統(tǒng)自動(dòng)執(zhí)行任務(wù)調(diào)度時(shí),是不會(huì)加載任何環(huán)境變量的,因此,就需要在crontab文件中指定任務(wù)運(yùn)行所需的所有環(huán)境變量
crontab腳本
HOME=/SHELL=/bin/bash0 * * * * notify-send ["該休息一下啦"] "喝水!伸懶腰!動(dòng)一動(dòng)!"
這樣就實(shí)現(xiàn)了
二、shell腳本無限循環(huán)實(shí)現(xiàn)
下面是腳本:
while :do sleep 3600 echo time past notify-send ["該休息一下啦"] "喝水!伸懶腰!動(dòng)一動(dòng)!"done
把這個(gè)腳本加入到home目錄的.bashrc中,每次登陸就能啟動(dòng)了
三、利用zenity和notify-send實(shí)現(xiàn)
#!/bin/bashalartTime=100while (($alartTime))doif (($alartTime != 100)) # 如果不是 100,則說明不是初次運(yùn)行,則彈出下面的提示thennotify-send $alartTime"分鐘已到,請(qǐng)重新設(shè)定!"zenity --info --text "時(shí)間到,請(qǐng)重新設(shè)定!"fialartTime=$(zenity --entry --title "定時(shí)提醒" --text "輸入提醒時(shí)間(分鐘, 將忽略小數(shù))")alartTime=${alartTime%.*} # 忽略輸入的小數(shù)點(diǎn)后面的數(shù)字,如 4.6 識(shí)別為 4if (($alartTime > 60)) # 不能超過最大值thenzenity --info --text "必須小于60分鐘,退出"breakfinotify-send "成功設(shè)定"$alartTime"分鐘,開始計(jì)時(shí)"sleep $((alartTime*60))done 上面的腳本,使用了 notify-send 命令用于在桌面上彈出氣泡提示,使用了 zenity 命令用于顯示圖形窗口。
自己用的話,上面的腳本可以寫得更簡單一點(diǎn),因?yàn)殄e(cuò)誤檢測沒必要做。但是如果要給不太懂的人用的話,我這腳本里的錯(cuò)誤檢測及處理則會(huì)就顯得有點(diǎn)力不從心了。
總結(jié)
好了,終于完成了ubuntu中彈窗提醒腳本了,本文提供三種方法供大家參考借鑒,不知道大家都學(xué)會(huì)了沒有,希望這篇文章的內(nèi)容對(duì)大家能有所幫助,如果有疑問大家可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選