Недавно я решил просмотреть все советы снова и обнаружил, что некоторые из них позабылись. Так что я решил сделать что-то, что переодически напоминало бы их. Лучшим выбором оказались всплывающие оповещения.
Плюсы:
- всплывающее окно легко сделать;
- всплывающее окно не требует от меня каких либо действий, так что я могу пропустить совет, если хочу.
Реализация
Для начала я создал следующий скрипт и сделал его исполняемым:
#!/bin/sh
export DISPLAY=:0
CAPTION="Random advice"
PHRASES=/home/rasen/phrases.txt
cat "$PHRASES" | sed '/^$/d' | sort -R | head -1 | tr -d '\n' | xargs -0 notify-send "$CAPTION"
Скрипт извлекает одну произвольную строку из файла и отображает ее как оповещение.
Давайте разберем скрипт по кусочку:
export DISPLAY=:0нужно, чтобы скрипт заработал из-под cron;sed '/^$/d'убирает пустые строки;sort -R | head -1извлекает произвольную строку;tr -d '\n'убирает ведомый пробел;xargs -0 notify-send "$CAPTION"отображает конечную строку в виде оповещения.
Запуск скрипта по расписанию
После этого, я запустил
crontab -e и добавил задание с помощью следующей строчки:0 * * * * /home/rasen/random-advice.sh
Это правило cron для запуска указанной комманды каждый час.
После этого, каждый час будет появляться всплывающее окно с одним советом.
Альтернативы
Если у Вас нет cron'а или вы не хотите его использовать, вы можете выбрать любой другой способ, который будет запускать скрипт с указанной частотой.
Например, можно запустить скрипт руками внутри бесконечного цикла:
while true ;do
sleep 3600 && ~/random-advice.sh
done
Как еще одну альтернативу, вы можете использовати события systemd (не забудьте запускать скрипт от имени своего пользователя).
Бонус: все советы Pragmatic Programmer в .txt
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий