# Утилита rmd — от костыля sleep && notify-send к CLI-напоминалке для Linux
robot (spnet, 1) → All – 05:44:04 2026-09-01
Раньше я делал так:
(sleep 25m && notify-send "Пора выпить кофе") &
Пока терминал открыт и машина не ушла в сон — такая конструкция работает. Закрыл сессию, перезагрузился, ноутбук заснул на час — таймер исчез. Напоминание о звонке или о еде на плите в такой схеме слишком хрупкое.
Мне были нужны одноразовые напоминания, которые:
• не пропадают после перезагрузки и спящего режима;
• гарантированно привлекают внимание (через уведомления рабочего стола);
• не тянут за собой канбан, проекты и «когда-нибудь».
Так появилась rmd — лёгкая CLI-утилита с фоновым демоном для Linux.
Интерфейс
Примеры вызова:
rmd +25m Пора выпить кофе
rmd tomorrow 15:00 Созвон по релизу
rmd fri 22:00 Заткнись и иди спать!
rmd 2026-12-01 10:00 Продление домена
rmd
Без аргументов rmd выводит список ближайших активных напоминаний. Поддерживаются относительные интервалы, дни недели и точные даты. Подробнее о [ синтаксисе времени ]( https://github.com/PaulBunch/rmd/blob/v0.3.0/docs/TIME.md ) можно почитать в документации.
[ Пример списка уведомлений ]( https://github.com/user-attachments/assets/9ff19d49-d1c9-49d3-bdbc-813421a62db6 )
Просто напоминалка
Это не менеджер задач. Нет повторяющихся проектов, досок, списков «прочитать потом». Уведомления задуманы только для событий с дедлайном по времени: еда на плите, созвон через 10 минут, «выйти из дома».
Если нужен todo с проектами — это другой класс инструментов. У rmd намеренно более узкая специализация.
От sleep && notify-send отличается наличием:
• фонового демона: systemd user service или автозапуск из CLI;
• сохранения состояния: ~/.local/state/rmd/reminders.json — напоминания остаются после перезагрузки;
• обработки пропущенных срабатываений: если машина была выключена, приходит одно сгруппированное уведомление.
Стек: Linux + notification daemon. Написано на Rust, без тяжёлого runtime вокруг одной утилиты.
Внутреннее устройство
CLI общается с демоном по Unix-сокету. Демон держит таймеры в памяти и атомарно пишет JSON на диск. В момент срабатывания уходит уведомление по D-Bus. При старте демон проверяет, не было ли пропусков, пока система была выключена.
Требования:
• Linux (x86_64 или aarch64)
• Демон уведомлений по D-Bus
macOS и Windows не поддерживаются.
Установка:
• Исходники и описание: [ github/rmd ]( https://github.com/PaulBunch/rmd )
• Бинарники: [ github/releases ]( https://github.com/PaulBunch/rmd/releases )
• Из crates.io: cargo install rmd-cli (бинарь называется rmd)
Альтернативы
Инструменты вроде at, cron, systemd timers и полноценных todo-менеджеров решают смежные задачи. Мне не хватало инструмента под узкий сценарий: ввёл время и текст в одной строке — получил гарантированное уведомление, которое не пропадёт после перезагрузки. Без аккаунта в облаке и без ежедневного ритуала «разобрать входящие».
Если вы тоже устали от sleep && notify-send и не хотите ради чайника заводить пятый таск-трекер — имеет смысл попробовать.
https://www.linux.org.ru/news/opensource/18370861
robot (spnet, 1) → All – 05:44:04 2026-09-01
Раньше я делал так:
(sleep 25m && notify-send "Пора выпить кофе") &
Пока терминал открыт и машина не ушла в сон — такая конструкция работает. Закрыл сессию, перезагрузился, ноутбук заснул на час — таймер исчез. Напоминание о звонке или о еде на плите в такой схеме слишком хрупкое.
Мне были нужны одноразовые напоминания, которые:
• не пропадают после перезагрузки и спящего режима;
• гарантированно привлекают внимание (через уведомления рабочего стола);
• не тянут за собой канбан, проекты и «когда-нибудь».
Так появилась rmd — лёгкая CLI-утилита с фоновым демоном для Linux.
Интерфейс
Примеры вызова:
rmd +25m Пора выпить кофе
rmd tomorrow 15:00 Созвон по релизу
rmd fri 22:00 Заткнись и иди спать!
rmd 2026-12-01 10:00 Продление домена
rmd
Без аргументов rmd выводит список ближайших активных напоминаний. Поддерживаются относительные интервалы, дни недели и точные даты. Подробнее о [ синтаксисе времени ]( https://github.com/PaulBunch/rmd/blob/v0.3.0/docs/TIME.md ) можно почитать в документации.
[ Пример списка уведомлений ]( https://github.com/user-attachments/assets/9ff19d49-d1c9-49d3-bdbc-813421a62db6 )
Просто напоминалка
Это не менеджер задач. Нет повторяющихся проектов, досок, списков «прочитать потом». Уведомления задуманы только для событий с дедлайном по времени: еда на плите, созвон через 10 минут, «выйти из дома».
Если нужен todo с проектами — это другой класс инструментов. У rmd намеренно более узкая специализация.
От sleep && notify-send отличается наличием:
• фонового демона: systemd user service или автозапуск из CLI;
• сохранения состояния: ~/.local/state/rmd/reminders.json — напоминания остаются после перезагрузки;
• обработки пропущенных срабатываений: если машина была выключена, приходит одно сгруппированное уведомление.
Стек: Linux + notification daemon. Написано на Rust, без тяжёлого runtime вокруг одной утилиты.
Внутреннее устройство
CLI общается с демоном по Unix-сокету. Демон держит таймеры в памяти и атомарно пишет JSON на диск. В момент срабатывания уходит уведомление по D-Bus. При старте демон проверяет, не было ли пропусков, пока система была выключена.
Требования:
• Linux (x86_64 или aarch64)
• Демон уведомлений по D-Bus
macOS и Windows не поддерживаются.
Установка:
• Исходники и описание: [ github/rmd ]( https://github.com/PaulBunch/rmd )
• Бинарники: [ github/releases ]( https://github.com/PaulBunch/rmd/releases )
• Из crates.io: cargo install rmd-cli (бинарь называется rmd)
Альтернативы
Инструменты вроде at, cron, systemd timers и полноценных todo-менеджеров решают смежные задачи. Мне не хватало инструмента под узкий сценарий: ввёл время и текст в одной строке — получил гарантированное уведомление, которое не пропадёт после перезагрузки. Без аккаунта в облаке и без ежедневного ритуала «разобрать входящие».
Если вы тоже устали от sleep && notify-send и не хотите ради чайника заводить пятый таск-трекер — имеет смысл попробовать.
https://www.linux.org.ru/news/opensource/18370861