Unix-way напоминалка

    На хабре много пишут о повышении эффективности своей работы, важной составляющей этого процесса является управление своим временем. С моей точки зрения без инструмента хорошо управлять временем не получится, либо ты погрузился в задачу, забыл обо всё и эффективно над ней работаешь, либо ты постоянно дёргаешься проверяя не пришло ли время переключиться на что-то, тем самым теряя эффективность.

    Поиск по хабру показал что ещё никто не рассказывал об инструменте, который я решил использовать. Важным отличием этого инструмента является то, что это настоящий unix-way, что намекает на одинаковую её работу на всех GNU/Linux дистрибутивах, хотя по слухам утилита работает и на ОС от Apple и даже на MS Windows (cygwin), хотя автор не очень рад такому использованию.

    Итак, представляют вам утилиту remind, концепция достаточно проста — всё события вносятся в конфигурационный файл со специальным синтаксисом, например:
    хотим каждый рабочий день напоминание об обеде:
    REM Mon Tue Wed Thu Fri AT 12:30 MSG Пора кормиться
    возможно об обеде лучше начать напоминать за 10 минут, каждые 5 минут:
    REM Mon Tue Wed Thu Fri AT 12:30 +10 *5 MSG Обед

    Синтаксис утилиты достаточно богатый, о нём можно почитать в man и в статьях указанных в конце заметки.

    После того как расписание занесено в файл нужно запустить remind в демоническом режиме:
    remind -z "-k/usr/bin/zenity --info --title=Remind --text=\%s" /home/worldmind/.reminders &
    как видите для вывода графических напоминалок использовался упоминавшийся на хабре zenity, но вместо него могут использоваться и другие утилиты, например xmessage или gxmessage.

    Запускать демон можно руками, из инициализирующих скриптов шелла или средствами графической оболочки, как вам удобнее.

    Надеюсь благодаря это утилите вы перестанете забывать про обед, дни рождения родных, совещания и ключевые точки рабочего процесса.

    Несколько полезных ссылок
    www.linuxjournal.com/article/3529
    wiki.43folders.com/index.php/Remind_use_case_1
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 19

      0
      А можно каким-нибудь способом отличным от правки файла и перезапуска приложения добавлять напоминания?
      «На лету», так сказать.
        +4
        Вы знаете, только что про эту чудо-программу узнал, и первым делом прочел маны о тех параметрах, которые используются в примере. Так вот, там описано, что -z[n] Runs Remind in the daemon mode. If n is supplied, it specifies how often (in minutes) Remind should wake up to check if the reminder script has been changed. N defaults to 5, and can range from 5 to 60. Так что, видимо, перезапускать и не надо ничего — правим файл, и не позже, чем через 5 минут, новый скрипт будет считан. А автору спасибо за статью, скорее всего возьму на вооружение, программа весьма навороченная и приятная.
          +2
          Unix-way комментарий :)
        +7
        Э… крон + любая «графическая напоминалка»?
          0
          Это конечно тоже рабочее решение, но например условие «напомнить в такое-то время, при этом напоминая заранее через такие-то интервалы» в кроне наверно не очень удобно реализовывать или например не уверен что в кроне можно указать «первый понедельник месяца».
          Да и крон не для этого сделан, в случае этой утилиты у тебя есть файл (по сути кроссплатформенный) с напоминаниями/календарём, а не расписание запуска скриптов перемешанное с напоминаниями т.е. переносить между машшинами ты будешь именно напоминалки, а не некое расписание скриптов.
            0
            0 0 1-7 * 1
            Но согласен как напоминалку использовать крон не удобно.
              +3
              Все, что вы описали-таки как раз НЕ юникс-вейно.
              Юникс вей это сборка программы (в общем смысле, как «алгоритм») из мелких кусочков, прио тсутствии дублирующихся софтин (зачем?).

              Если кажется сложным запускать несколько программ — оберните это в скрипт, получится один файл.
                +1
                Вопрос что считать мелкими кусочками, с моей точки зрения напоминалка-календарь это вполне небольшой кусочек (крон для этого сильно неудобен), а вот вывод окошка, это не его задача, поэтому используются внешние утилиты.
            0
            Это конечно здорово и познавательно, но мир переходит на облака. Например google календарь присылает напоминания в виде СМС, и далее эта тема будет развиваться еще в более удобные технологии.
              +2
              Облака это здорово и познавательно, но я не пользуюсь гуглокалендарём и не перехожу в облака, те уведомления которые нужны за компом будет делать remind, а те которые нужны мобильно делает напоминалка в телефоне.
                +1
                Google неюниксвеен.
                +3
                в демоническом режиме, отличная фраза ))
                  0
                  В статье не описано самого главного — синтаксиса файла конфигурации на русском языке. Если автор разобрался с синтаксисом, ждем перевод мана или вольной пересказ всех возможностей конфигурирования напоминалки.
                    0
                    В крайнем случае можете задействовать gui, например tkremind
                      0
                      Тоже поначалу так подумал. Но почитал man, там все хорошо объяснено на примерах.
                      +1
                      man at
                      тоже мне тут юниксоиды :)
                      +2
                      уже давно использую этот remind на своём ВПСе. Пытался перейти на Remember The Milk и прочие, но эта штука мне нравится намного больше. У ней непревзойдённая (ИМХО) гибкость настройки:
                      можно создавать свои функции
                      подсчитать количество лет от аргумента до сегодня:
                      FSET _yr_num(yr) YEAR(TRIGDATE()) — yr
                      теперь в извещении о ДР:
                      REM 10 May +5 MSG День Рождения братана, исполняется [_yr_num(1982)] (%b)
                      выведет напоминание о ДР братана в течении 5 дней до этой даты, с указанием сколько осталось дней и сколько исполнится лет
                      REM Fri 1 Aug --7 MSG День Сисадмина!!! (%b)
                      предупреждает о Дне Сисадмина (последняя пятница июля).
                      Также можно выводить время восхода и заката Солнца в зависимости от географических координат, фаза луны и прочее
                        0
                        для автозапуска
                        worldmind@host:~$ cat .config/autostart/remind.desktop [Desktop Entry] Type=Application Name=Remind Exec=/usr/bin/remind -z "-k/usr/bin/zenity --info --title=Remind --text=\%s" /home/worldmind/.remind

                        Only users with full accounts can post comments. Log in, please.