Комментарии 44
Поставьте себе hamster в нём есть всё и дальше больше.
+3
Суть не том, что уже есть и поставить. Суть в том, что сделал сам, опыт это самое дорогое, ведь мы тут хабравчане и не было бы habr, если бы не умельцы…
+2
НЛО прилетело и опубликовало эту надпись здесь
Я почему-то постоянно забываю про cron когда надо сделать что-то со временем. Поэтому меня будит такой скрипт:
#!/bin/bash
sh=7 # час
sm=30 # минуты
H=`date +%k`
while [ $H -ne "$sh" ]; do
sleep 300
H=`date +%k`
done
M=`date +%M`
while [ $M -ne "$sm" ]; do
sleep 15
M=`date +%M`
done
banshee --play # Включаем плеер
amixer -c 0 set Master 60 # Поднимаем громкость (в оригинале она постепенно поднимается, начиная с 25)
+2
Спасибо за скриптик. Модифицировал его под себя, теперь использую для напоминания (память дырявая).
Дописал в конец вместо звукового оповещения (скрипту передаётся час, минуты и тело сообщения):
Дописал в конец вместо звукового оповещения (скрипту передаётся час, минуты и тело сообщения):
kdialog --passivepopup "$3" 120 # вариант для KDE
sendemail -f name@domain.ru -t +7923xxxxxxx@sms.megafonsib.ru -o message-charset=utf-8 -u "Achtung!" -m "$3" -o message-format=text/html -s mail.domain.ru # отправка смс
+1
Для будильников можно использовать `at`:
echo -n "banshee --play; amixer -c 0 set Master 60" | at 7:30
+2
Пользоваться crontab -e не очень удобно, т.к. открывается редактор по умолчанию. Обычно это nano.
Не устраивает — есть update-alternatives (если я что-то помню по дебианообразным) и export $EDITOR. Это лучше.
+5
Можно просто писать:
EDITOR=gedit crontab -e
EDITOR=gedit crontab -e
+4
У меня стоит EDITOR=mcedit
Для локальной работы вполне хватает. Но я стараюсь не приучать себя к такому, т.к. 90% crontab-ов я изменяю на серверах.
Когда заходишь на сервер и открываешь crontab, то каждый раз открывается что-нибудь новое. Этакая рулетка. Каждый разработчик считает своим долгом поставить в переменную EDITOR свой любимый редактор. Поэтому считаю наиболее приемлемым для себя сценарий вида:
по мотивам этого сценария родился и скрипт, указанный в статье.
Главное в нем — это бекап того, что было, и контроль того, что есть.
Для локальной работы вполне хватает. Но я стараюсь не приучать себя к такому, т.к. 90% crontab-ов я изменяю на серверах.
Когда заходишь на сервер и открываешь crontab, то каждый раз открывается что-нибудь новое. Этакая рулетка. Каждый разработчик считает своим долгом поставить в переменную EDITOR свой любимый редактор. Поэтому считаю наиболее приемлемым для себя сценарий вида:
crontab -l > ctfile
cp ctfile file.backup
mcedit ctfile # аккуратно редактирую, подписываю коммент, что и зачем и когда менял, сохраняю
crontab ctfile
по мотивам этого сценария родился и скрипт, указанный в статье.
Главное в нем — это бекап того, что было, и контроль того, что есть.
+1
Синтезатор речи по-русски говорил ужасно. Слушать было противно, и поэтому я переключился на английский
Послушал на английском — не лучше :)
+1
Стесняюсь спросить: а что означает запись вида "*/1" в кронтабе?
+2
1. Про $EDITOR уже сказали. Плюсую.
2. Есть вполне сносный русскоговорящий синтезатор голоса — festival, который, правда, требует некоторой предварительной настройки.
2. Есть вполне сносный русскоговорящий синтезатор голоса — festival, который, правда, требует некоторой предварительной настройки.
+2
Оказывается, начиная с Ubuntu 10.04 русскоговорящий фестиваль есть в родных репозиториях под именем festvox-ru и ничего настраивать самому даже и не нужно:
sudo apt-get install festvox-ru
echo 'Привет, хабрахабр!' | festival --tts --language russian
+1
Из вариантов:
echo 'Прошел 1 час' | festival --tts --language russian
echo 'Прошел 1 чааас' | festival --tts --language russian
echo 'Прошел 1 час' | festival --tts --language russian
echo 'Прошел 1 чааас' | festival --tts --language russian
+1
Уже второй раз попадаюсь на ctrl+Enter…
Из вариантов:
наиболее сносно произносит желаемую фразу — третий.
Из вариантов:
echo 'Прошел 1 час' | festival --tts --language russian
echo 'Прошел 1 чаас' | festival --tts --language russian
echo 'Прошел 1 чааас' | festival --tts --language russian
echo 'Прошел 1 чаааас' | festival --tts --language russian
наиболее сносно произносит желаемую фразу — третий.
+1
спасибо за подсказку. переделал свой скрипт на использование festival
простые слова он говорит шикарно
например:
Эту фразу говорит так, что со стороны не поймешь человек ли сказал или компьютер.
Вот такой вариант тоже вполне сносен:
простые слова он говорит шикарно
например:
echo "8 часов" | festival --tts --language russian
echo "18 часов" | festival --tts --language russian
Эту фразу говорит так, что со стороны не поймешь человек ли сказал или компьютер.
Вот такой вариант тоже вполне сносен:
echo 'москооовское время 8 часов' | festival --tts --language russian
0
А есть возможность завернуть звуковой выход festival на skype?
0
Думаю, никаких препятствий к этому нет. Нужно создать виртуальное звуковое устройство типа loopback, которое бы, с одной стороны, было устройством воспроизведения, а с другой стороны, устройством записи, посылающим всё, что воспроизводиться на свой же вход.
Тогда, настраиваем festival на воспроизведение через такое устройство, а в Skype вместо микрофона ставим запись с виртуального устройства.
Вот, например, человек спрашивает как это сделать в ALSA. И ему даже предложили пару вариантов.
Тогда, настраиваем festival на воспроизведение через такое устройство, а в Skype вместо микрофона ставим запись с виртуального устройства.
Вот, например, человек спрашивает как это сделать в ALSA. И ему даже предложили пару вариантов.
0
чтобы работало с любой сессией вместо DISPLAY=:0.0 лучше использовать небольшое дополнение
и ниже сам вызов
найдено на просторах G
#!/bin/sh
init_notify() {
user=`whoami`
pids=`pgrep -u $user nautilus`
for pid in $pids; do
# find DBUS session bus for this session
DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
# use it
export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS
done
}
notify() {
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
init_notify
fi
title=$1
text=$2
timeout=$3
if [ -z "$title" ]; then
return
fi
if [ -z "$text" ]; then
text=$title
fi
if [ -z "$timeout" ]; then
timeout=5000
fi
notify-send "$title" "$text" -t $timeout
}
и ниже сам вызов
notify "title" "text" 5000
найдено на просторах G
+3
Ради справедливости и для windows дайте что-нибудь подобное. Желательно системными средствами без сторонних утилит.
0
Я полтора года наза писал о подобном, только попроще
kartz.ru/2010/02/24/at/
kartz.ru/2010/02/24/at/
+1
НЛО прилетело и опубликовало эту надпись здесь
В кедах можно вызывать уведомления через kdialog, кстати.
kdialog --passivepopup 'пора вставать!' 4
kdialog --passivepopup 'пора вставать!' 4
+4
Выложил свежий обзор и примеры озвучки 2-х голосовых движков: ESpeak и Festival. Второй еще хоть как-то слушать можно.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Кукушка на bash своими руками