Разбира се обърнах се към софтуерния център на Ubuntu и пробвах различните предложения. В общи линии те задоволяваха, но без конкретния ми функционал ги отправях в коша. Исках лека програма подобна на Switch Off за Windows. Switch Off е преди всичко таймер, който по зададено време изключва машината. Секунди преди настъпване на събитието известява с надпис дублиран от звуков сигнал. Времето за предизвестие, надписа и звуковия сигнал са доверени на вашия избор.
Ubuntu e моята система, затова днешната ни среща касае как да постигнем таймер, чрез стандартните средства на системата.
Уведомяване в Ubuntu
В Ubuntu уведомяването е поверено на утилита notify-send. Например, изпълнете този ред в терминала.
и следва да видите нещо подобно
струва си да се запознаете отблизо с notify-send, като изпълните следната команда
става ясно, че боравите с различни инструменти за персонализация на известяването.
Конкурент на notify-send в системата е zenity. При него нещата изглеждат така и те са в пряка зависимост от текущата тема на системата:
Отказах се, но за любопитните това на помощ:
Следващата стъпка с която се заиграх е как да накарам cron да стартира notify-send. За целта редактирах crontab
добавяйки този ред
от тук насетне cron честно привеждаше в изпълнение notify-send и аз четях през минута тестовото съобщение. Отлично!
Но това ми бе малко и не догонваше Switch Off. Липсваше звуковия съпровод. Отново се обърнах се към софтуерния център на Ubuntu и потърсих синтезатори на речта. Попаднах на два и избрах по-добрия според мен. Това е програма Gespeaker. Звученето на български бе ужасно и затова я оставих да английски. Реших да произнася "go to bed". Замисълът ми се получи.
Краен резултат
машината се гаси в 00:01ч всяка вечер, а две минути преди това notify-send ме подсеща с надпис, съпроводен от синтезирана реч.
Това е моя crontab
59 23 * * * profruit DISPLAY=:0.0 notify-send "Внимание" "Лягай да спиш"
59 23 * * * profruit espeak -vru -s130 "go to bed"
до нови срещи ^.^
Една дребна забележка. Реда:
*/1 * * * * profruit DISPLAY=:0.0 notify-send "Внимание" "Изтече 1 минута"
е еквивалентен на
* * * * * profruit DISPLAY=:0.0 notify-send "Внимание" "Изтече 1 минута"
Вярно и забележката се приема. Обещавам да внимавам повече за в бъдеще.