
Внимание, всё выполнялось под Ubuntu версии 12.04 (но это не факт, что на других версиях не будет идентично всё).
Так случилось, что я перестал просыпаться от звука будильника в телефоне... Слишком он тихий, чтобы разбудить меня. 🙂 Тогда на смену ему пришёл cron (конечно можно было и готовый будильник скачать, но это не мой путь, т.к. по натуре русского характера я).
И так...
ШАГ 1:
Для начала я создал скрипт для запуска трека утром alarm.sh. Вот его содержимое:
1 2 |
#!/bin/sh audacious `/home/user/просыпайся мой друг.mp3` #вместо user - введите своё имя уч.записи, вместо "просыпайся мой друг.mp3" - ваш файл расположенный в домашней папке |
Вместо audacious - можно выбрать любой другой проигрыватель, хоть даже mplayer. И поместил его в папку ~/my_scripts/.
После чего сделал его исполняем:
1 |
chmod +x ~/my_scripts/alarm.sh |
ШАГ 2:
Затем пришла очередь назначить время запуска скрипта. 🙂 Вот и пришёл на выход крон. 🙂
1 |
crontab -e |
При первом запуске он попросит выбрать текстовый редактор по умолчанию (я выбрал nano).
И так... Открывается планировщик заданий. В конце файла вписываем:
1 2 3 |
DISPLAY=:0 # Это обязательный параметр, из-за него не запускался мой скрипт. Он означает на каком дисплее запустить его. Мучался до 4 утра с ним :) Пока после введёной строчки всё не заработало 30 6 * * * ~/my_scripts/alarm.sh #время и путь к нашему скрипту |
Эта запись означает, что каждый день в 6:30 утра будет запускаться наш скрипт "будильника". Более подробно можете почитать в интернете о планировщике cron.
После чего, если вы использовали редактор nano (эх... Люблю я его). Зажимаем crtl+o и нажимаем Enter. Это сохранит наше расписание. Теперь зажимаем ctrl+x, чтобы выйти из редактора.
Мы получаем сообщение: crontab: installing new crontab. Это говорит о том, что расписание установлено.
Ну вот уже будильник у нас есть! 🙂
ШАГ 3:
На этом можно было и остановится... Но вот шум компьютера меня несколько раздражает ночью... И так... Немного порывшись в интернете, я наткнулся на утилиту rtcwake (если я не ошибаюсь, она по-умолчанию уже установлена) в Ubuntu.
И так запускаем её с парметрами:
1 |
sudo rtcwake -m mem -t `date +%s -d 06:29` |
Подробней об утилите rtcwake:
1 |
man rtcwake |
После чего компьютер перейдёт в состояние S3, т.е. сам будет выключен, но питание будет подоваться на оперативную память. И включится в 6:29 утра. После чего по крону запустится наша песня. 🙂
ШАГ 4:
Итак! 🙂 Меня немного настораживало постоянно вводить команду "sudo rtcwake -m mem -t date +%s -d 06:29
". Захотелось это дело упростить. 🙂 Тогда я создал ещё один скрипт sleepandwakeup.sh и закинул его в папку ~/my_scripts/.
Вот содержимое скрипта sleepandwakeup.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/sh if [ -n $1 ]; then sudo rtcwake -m mem -l -t $(date +%s -d $1) else echo "" echo "не указано время пробуждения" echo "" echo "" echo "ПРИМЕР ИСПОЛЬЗОВАНИЯ:" echo "./sleepandwakeup.sh 7:00" echo "" echo "чтобы усыпить и разбудить компьютер в 7:00" fi |
После чего делаем его исполняемым:
1 |
chmod +x ~/my_scripts/sleepandwakeup.sh |
Но он не заработал должным образом, т.к. требовалось ввести пароль, для запуска rtcwake. Поэтому нам потребовалось отключить запрос пароля суперпользователя для rtcwake. Поэтому запускаем visudo:
1 |
sudo visudo |
И добавляем таку строчку:
1 |
%user_name ALL = NOPASSWD: /usr/sbin/rtcwake |
Где user_name - имя вашего пользователя. После чего поочерёдно ctrl+o, enter, ctrl+x.
Ну вот и всё. 🙂 Теперь мы можем отправлять компьютер поспать введя команду в терминале:
1 |
~/my_scripts/sleepandwake.up 6:29 |
Но это мне показалось тоже неудобным. Поэтому я решил добавить ссылку на наш скрипт:
1 |
sudo ln -s ~/my_sripts/sleepandwakeup.sh /usr/bin/sleepandwakeup |
Теперь компьютер можно оправлять спать просто введя в терминале:
1 |
sleepandwakeup 6:29 |
Чтобы изменить время будильника, меняем дату в crontab.
Ну вот вроде и всё. 🙂 Конечно можно было бы ещё модифицировать скрипт sleepandwakeup - чтобы он и время будильника сразу менял, но пока ещё руки не дошли.
Это 1-ая моя статья, поэтому старался всё максимально подробно описать (в частности того, что нужно). В интернете вы подробнее можете узнать об cron и rtcwake.
Готовитесь к лету? Хотите держать в хорошем состоянии свой сад и огород? Магазин строительной техники ИНГРИН поможет вам в этом, предлагая самую лучшую садовую технику по очень приятным ценам. Настоящий садовод оценит хороший выбор в магазине.