Внимание, всё выполнялось под 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.
Готовитесь к лету? Хотите держать в хорошем состоянии свой сад и огород? Магазин строительной техники ИНГРИН поможет вам в этом, предлагая самую лучшую садовую технику по очень приятным ценам. Настоящий садовод оценит хороший выбор в магазине.