這篇文章主要介紹“ubuntu中如何實(shí)現(xiàn)定時彈窗的提醒腳本”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“ubuntu中如何實(shí)現(xiàn)定時彈窗的提醒腳本”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)金平,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
簡單的彈窗效果
首先是上網(wǎng)查了ubuntu中的彈窗命令,發(fā)現(xiàn)notify-send
這個命令就能滿足要求了
notify-send ["該休息一下啦"] "喝水!伸懶腰!動一動!"
彈窗效果
彈窗效果有了,然后應(yīng)該是一個定時彈窗的功能
一、cron命令實(shí)現(xiàn)定時彈窗
想到的是cron
命令,google了很多教程,都沒有成功
在/etc/crontab 中加入了
* * * * * root notify-send ["該休息一下啦"] "喝水!伸懶腰!動一動!"
也用命令編輯了
crontab -e
同時也啟動了cron服務(wù)
server cron start
還是沒有成功
終于在一個介紹crontab用法的博客終于找到我的crontab腳本不執(zhí)行的原因了:沒有設(shè)置環(huán)境變量!
在crontab文件中定義多個調(diào)度任務(wù)時,需要特別注環(huán)境變量的設(shè)置,因?yàn)槲覀兪謩訄?zhí)行某個任務(wù)時,是在當(dāng)前shell環(huán)境下進(jìn)行的,程序當(dāng)然能找到環(huán)境變量,而系統(tǒng)自動執(zhí)行任務(wù)調(diào)度時,是不會加載任何環(huán)境變量的,因此,就需要在crontab文件中指定任務(wù)運(yùn)行所需的所有環(huán)境變量
crontab腳本
home=/ shell=/bin/bash 0 * * * * notify-send ["該休息一下啦"] "喝水!伸懶腰!動一動!"
這樣就實(shí)現(xiàn)了
二、shell腳本無限循環(huán)實(shí)現(xiàn)
下面是腳本:
while : do sleep 3600 echo time past notify-send ["該休息一下啦"] "喝水!伸懶腰!動一動!" done
把這個腳本加入到home目錄的.bashrc
中,每次登陸就能啟動了
三、利用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è)定!" fi alarttime=$(zenity --entry --title "定時提醒" --text "輸入提醒時間(分鐘, 將忽略小數(shù))") alarttime=${alarttime%.*} # 忽略輸入的小數(shù)點(diǎn)后面的數(shù)字,如 4.6 識別為 4 if (($alarttime > 60)) # 不能超過最大值 then zenity --info --text "必須小于60分鐘,退出" break fi notify-send "成功設(shè)定"$alarttime"分鐘,開始計(jì)時" sleep $((alarttime*60)) done
上面的腳本,使用了 notify-send
命令用于在桌面上彈出氣泡提示,使用了 zenity 命令用于顯示圖形窗口。
關(guān)于“ubuntu中如何實(shí)現(xiàn)定時彈窗的提醒腳本”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。