Суббота
18.05.2024, 08:03
| RSS
Главная
Меню сайта

Категории раздела
Madriva [3]
Ubuntu (KUbuntu, EdUbuntu, XUbuntu) [78]
SUSE [1]
Fedora Core [9]
ASPLinux [1]
Debian [16]
Gentoo [3]
Другие [167]

Мини-чат

Наш опрос
Какую графическую среду Вы используете?
Всего ответов: 103

Статистика

Rambler's Top100Рейтинг@Mail.ru

Главная » 2009 » Июль » 27 » И снова Linux. Говорящий будильник.
И снова Linux. Говорящий будильник.
09:02

Так как основная проблема новичков под Linux состоит в том, что они спрашивают, как копать, а им отвечают, куда копать, я в качестве небольшого примера привожу практическую задачу пробуждения нас любимых после полуночных бдений за консолью =) Будить нас будет наш собственный лаптоп под управлением OS GNU/Linux (и я считаю это True Way).

С чего начать? Наверное с того, с чего начинался любой будильник - с срабатывания в точно назначеное время =) Иначе это не будильник, а кривая поделка товарища Сый Цу из бюджетного района Пхеньяна. Да простят мне китайцы мою любовь к родине и соотечественникам в частности=)

Самый простой путь:

at -f /home/netf0x/ring.sh 7:07

Где:
cat /home/netf0x/ring.sh
mplayer /home/netf0x/ring.mp3

Как видим, все просто. Лишь бы демон atd работал и мы точно проснемся. Проверяется просто:
sudo root@fox:~# /etc/init.d/atd status
* atd is running

Но пойдем дальше:

root@fox:/tmp/ring# cat alarm
#!/bin/sh
amixer sset PCM 95% > /dev/null
VOL=0
START_VOL=50
STEP_VOL=10
SLEEP_VOL=120
ALARM_ACTION=/home/dimka/bin/alarm_action #Поменять на свой путь к файлу alarm_action
setvolume() { amixer sset Master $1% > /dev/null}
VOL=$START_VOL
setvolume $START_VOL
while [ 1 == 1 ]; do
$ALARM_ACTION
let VOL=VOL+STEP_VOL
setvolume $VOL
sleep $SLEEP_VOL

Этот скрипт делает следующее: Плавно прибавляет громкость и через скрипт (будет ниже) alarm_action выдает звук.

alarm_action:

root@fox:/tmp/ring# cat alarm_action
#!/bin/sh
play -q /home/dimka/snd/untie.wav > /dev/null & 2>1
DATE=`date | awk '{print($4)}' | sed s/:/" часов "/ | sed s/:/" минут "/ | awk '{print($1" "$2" "$3" "$4)}' `
/home/dimka/bin/fest "доброе утро, уже $DATE" #/home/dimka/bin/ - поменять на свой путь к файлу скрипта fest

Этот скрипт, посредством festival читает про доброе утро. Festival вызывается скриптом со звучным названием fest

#cat fest
#!/bin/sh
echo "(voice_msu_ru_nsh_clunits)(SayText \"$1\")(quit)" > /tmp/test
festival_client /tmp/test

Ну и теперь давайте все же заставим работать этот скрипт в назначеное время =)
В файл /etc/crontab добавляются следующие строки (а если у вас нет прав root просто наберите crontab -e и правьте правила только для себя)

45 7 * * 3 dimka alarm
45 8 * * 1-2,4-5 dimka alarm

Естественно user dimka надо поменять на имя вашего юзера ну а строки 45(минуты), 7(часы), 3(среда), 1-2(понедельник-вторник), 4-5(четверг-пятница)

Архив со скриптами прикладываю. Успехов в пробуждении!

Скрипты

P.S: Огромное спасибо 468 за борьбу с собственной ленью! =)
Источник:http://rootfox.com/blog/archives/135
Категория: Другие | Просмотров: 965 | Добавил: tol | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

  • Администрация

    Andry


    Tol


    Copyright MyCorp © 2024
    Хостинг от uCoz