ubuntu中實(shí)現(xiàn)定時(shí)彈窗的提醒腳本
簡單的彈窗效果
首先是上網(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/bash 0 * * * * 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/bash
alartTime=100
while (($alartTime))
do
if (($alartTime != 100)) # 如果不是 100,則說明不是初次運(yùn)行,則彈出下面的提示
then
notify-send $alartTime"分鐘已到,請重新設(shè)定!"
zenity --info --text "時(shí)間到,請重新設(shè)定!"
fi
alartTime=$(zenity --entry --title "定時(shí)提醒" --text "輸入提醒時(shí)間(分鐘, 將忽略小數(shù))")
alartTime=${alartTime%.*} # 忽略輸入的小數(shù)點(diǎn)后面的數(shù)字,如 4.6 識(shí)別為 4
if (($alartTime > 60)) # 不能超過最大值
then
zenity --info --text "必須小于60分鐘,退出"
break
fi
notify-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)容對大家能有所幫助,如果有疑問大家可以留言交流。
相關(guān)文章
Apache2.4.x版wampserver本地php服務(wù)器如何讓外網(wǎng)訪問及啟用.htaccess
這篇文章主要介紹了Apache2.4.x版wampserver本地php服務(wù)器如何讓外網(wǎng)訪問及啟用.htaccess,需要的朋友可以參考下2015-02-02
Linux之使用split將一個(gè)大文件拆分成多個(gè)小文件
這篇文章主要介紹了Linux之使用split將一個(gè)大文件拆分成多個(gè)小文件實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
CentOS 7中 Apache Web 服務(wù)器安裝配置教程
這篇文章主要介紹了CentOS 7中 Apache Web 服務(wù)器安裝配置教程,需要的朋友可以參考下2018-04-04
Linux Ubuntu實(shí)現(xiàn)查看磁盤剩余空間及內(nèi)存
這篇文章主要介紹了Linux Ubuntu實(shí)現(xiàn)查看磁盤剩余空間及內(nèi)存方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

