Гид по технологиям

Calcurse: командный календарь и планировщик

• 7 min read • Инструменты • Обновлено 23 Nov 2025
Calcurse — текстовый календарь и планировщик
Calcurse — текстовый календарь и планировщик

Calcurse — текстовый (curses) календарь и планировщик для терминала. Он управляет событиями, задачами и уведомлениями. Подойдёт системным администраторам и пользователям, которые работают без графического интерфейса. В статье описаны установка, базовые сценарии работы, настройка уведомлений и советы по использованию в продакшене.

Введение

Управление задачами, событиями и встречами — ежедневная рутина большинства специалистов. Многие пользуются графическими приложениями, но часть пользователей работает на серверах или предпочитает командную строку. Для таких случаев есть текстовые утилиты с функционалом, похожим на GUI-Календарь. Calcurse — одна из таких программ.

Кратко: Calcurse — это curses-приложение для календаря и планирования. Оно хранит события и ToDo, умеет импорт/экспорт в iCalendar, поддерживает UTF-8 и настраиваемые уведомления.

Что такое Calcurse

Calcurse — текстовый календарь и планировщик событий с интерфейсом на основе библиотеки curses. Приложение помогает следить за встречами, дедлайнами и личными задачами. Основные возможности:

  • Полный интерфейс командной строки для автоматизации и скриптов.
  • Гибкая система уведомлений (любые команды, отправка почты и т. п.).
  • Импорт/экспорт в iCalendar и pcal.
  • Привязка заметок к элементам календаря и редактирование их через ваш редактор.
  • Интернационализация: набор переводов интерфейса (английский, французский, немецкий, нидерландский, испанский, итальянский).
  • Полная встроенная справка (man page).
  • Поддержка UTF-8.

Важно: интерфейс текстовый — нет мыши и привычных GUI-виджетов, зато высокая скорость работы в терминале.

Установка

На Debian/Ubuntu-подобных системах установка простая:

sudo apt-get install calcurse

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

Запуск программы:

calcurse

Примечание: в исходной статье примеры тестировали на Calcurse 3.1.4 под Ubuntu 14.04. Это полезная отправная точка, но в современных дистрибутивах версия может быть новее.

Интерфейс

Интерфейс делится на три области: Appointments (встречи), Calendar (календарь) и ToDo (задачи). Внизу экрана выводится список доступных команд для текущего контекста.

Интерфейс Calcurse с тремя областями: Appointments, Calendar, ToDo

Пояснение: используйте клавиши навигации и сочетания, чтобы переключаться между областями и выполнять действия.

Как добавить встречу

Пошагово:

  1. Запустите calcurse.
  2. Нажмите Enter, чтобы показать основные опции (Help, Save, Quit и т. п.).
  3. Нажмите “o” для дополнительных команд.
  4. Выберите “Add Appt” или нажмите Ctrl+A.

Пункт меню для добавления встречи

После этого Calcurse последовательно спросит время начала, время окончания и описание встречи.

Запрос времени начала:

Запрос времени начала встречи в Calcurse

Запрос времени окончания:

Запрос времени окончания встречи в Calcurse

Запрос описания:

Запрос описания встречи в Calcurse

После сохранения событие появится в области Appointments:

Добавленное событие отображается в секции Appointments

Как добавить задачу ToDo

  1. Нажмите Tab для перехода в секцию ToDo.
  2. Внизу появится набор команд, специфичных для задач.
  3. Нажмите “a”, чтобы добавить новую задачу.

Секция ToDo с выделением и доступными командами

Программа спросит название задачи и приоритет:

Запрос названия задачи в Calcurse

Выбор приоритета задачи в Calcurse

Готово — задача добавлена:

Добавленная задача ToDo в списке задач

Настройка уведомлений

Calcurse имеет мощную систему уведомлений. Вы можете выполнять любую команду при срабатывании уведомления: отправлять почту, показывать уведомление в десктопе (через notify-send при наличии X) или запускать кастомные скрипты.

Порядок настройки:

  1. Перейдите в секцию Calendar (Tab).
  2. Нажимайте “o” пока не появится опция Config.

Опция Config в нижней строке интерфейса

  1. Нажмите “C” для входа в меню конфигурации.

Меню конфигурации Calcurse

  1. Нажмите “N” для настройки уведомлений.

Параметры уведомлений в Calcurse

В списке параметров выберите нужный по номеру. Например, параметр номер 5 — notification.command — задаёт команду, которую Calcurse выполнит при срабатывании уведомления.

Редактирование команды уведомления в Calcurse

Пример: заменить команду на вызов отправки письма или локального уведомления. Я использовал команду, которая посылает e-mail с текстом уведомления. Вы можете указать любую подходящую для вас команду.

Ввод новой команды уведомления в Calcurse

Совет: тестируйте команду вручную в терминале перед установкой её как notification.command.

Практические советы и приёмы

  • Бэкап данных: файлы конфигурации и хранилище Calcurse обычно лежат в ~/.calcurse. Копируйте их перед изменениями.
  • Редактор заметок: Calcurse использует переменную окружения EDITOR. Установите prefered editor (vim, nano, code — если доступен).
  • Автоматизация: используйте calcurse -a/-e и другие CLI-флаги в скриптах для импорта/экспорта и массовых изменений.
  • Импорт/экспорт: используйте iCalendar для синхронизации с другими календарями.

Ключевые сочетания (минимальный шпаргалка):

  • Enter — показать опции.
  • o — дополнительные команды.
  • Ctrl+A — добавить встречу (в контексте Appointments).
  • Tab — переключение между секциями.
  • a — добавить ToDo (в секции ToDo).
  • C — войти в конфиг.
  • N — настройки уведомлений.

Ограничения и когда Calcurse не подойдёт

Calcurse отлично работает в терминале, но он не универсален. Сценарии, где лучше выбрать другое решение:

  • Нужна плотная синхронизация с облачными календарями (Google Calendar) «из коробки». Calcurse требует промежуточных инструментов для синхронизации.
  • Требуются визуальные представления, связанные с пространственными данными или сложными напоминаниями с GUI-уведомлениями без дополнительных компонентов.
  • Многопользовательские корпоративные календари с общей базой и правами доступа — лучше использовать серверные решения (CalDAV / Exchange).

Альтернативы

Если Calcurse вам не подходит, рассмотрите:

  • Taskwarrior — мощный CLI-менеджер задач с богатой логикой приоритетов и зависимостей.
  • khal / vdirsyncer — для синхронизации iCalendar и работы в терминале; хорошо для интеграции с CalDAV.
  • Mutt + remind + notmuch — гибкие наборы для почты и напоминаний в терминале.
  • Графические календарные приложения (GNOME Calendar, Thunderbird/Lightning, Google Calendar) — если нужен GUI и облачная синхронизация.

Ментальные модели и сценарии использования

  • «Серверный пользователь»: вы работаете на машине без GUI. Calcurse — быстрый инструмент для личных задач и напоминаний.
  • «Автоматизатор»: Calcurse внедряют в цепочки скриптов, он генерирует события и уведомления для cron-джобов.
  • «Минималист»: предпочитаете текст и клавиатуру — Calcurse даёт минимальную, но полную функциональность.

Выбор зависит от двух факторов: нужен ли вам GUI/облачная синхронизация и насколько важна автоматизация через shell.

Мини‑чек‑лист для внедрения в рабочий процесс (роль‑ориентированный)

Для системного администратора:

  • Установить calcurse и проверить версию.
  • Подготовить бэкап ~/.calcurse.
  • Настроить notification.command на отправку почты или вызов скрипта.
  • Прописать в crontab регулярный экспорт (если нужно резервирование).

Для пользователя, работающего локально:

  • Настроить EDITOR для заметок.
  • Импортировать старые события через iCalendar.
  • Прописать горячие клавиши и изучить базовые сочетания.

Для команды, желающей интегрировать с внешними календарями:

  • Использовать vdirsyncer/khal для синхронизации CalDAV.
  • Тестировать конфликтные сценарии при массовых изменениях.

Чек‑лист приёма (Критерии приёмки)

  • События создаются и отображаются корректно в Appointments.
  • ToDo создаются, приоритеты сохраняются и отражаются.
  • Уведомления запускают заданную команду и доставляют информацию (например, e‑mail или локальное уведомление).
  • Импорт/экспорт iCalendar работает без ошибок для базовых событий.
  • Настройки сохраняются между сессиями (проверить перезапуск).

Шпаргалка команд и шаблонов

Примеры запуска и автоматизации:

  • Запустить Calcurse в терминале:
calcurse
  • Экспорт событий в iCal:
calcurse --export > mycalendar.ics
  • Импорт iCal:
calcurse --import mycalendar.ics
  • Пример команды уведомления (запустить пользовательский скрипт):
/path/to/notify-script.sh "%s"

Где “%s” — место для подставляемого сообщения от Calcurse.

Пример простого скрипта отправки почты (требуется настроенная утилита sendmail/postfix):

#!/bin/sh
SUBJECT="Напоминание Calcurse"
TO="you@example.com"
BODY="$1"
echo "$BODY" | mail -s "$SUBJECT" "$TO"

Тестируйте скрипт вручную, прежде чем указывать его в notification.command.

Факто‑бокс

  • Интерфейс: текстовый (curses).
  • Поддержка форматов: iCalendar, pcal.
  • Локализации: несколько языков, UTF-8.
  • Автоматизация: полная CLI‑поддержка.
  • Тестовая конфигурация в статье: Calcurse 3.1.4 на Ubuntu 14.04.

Когда Calcurse не сработает: примеры

  • Нужен двунаправленный live‑sync с Google Calendar и мобильными напоминаниями — потребуются дополнительные мосты и сервисы.
  • Требуются права и роли в общем календаре организации — Calcurse сам по себе не предоставляет централизованного сервера с правами.
  • Требуется интуитивно понятный GUI для менее технических пользователей.

Быстрый порядок действий для начала работы (мини‑методика)

  1. Установите calcurse через пакетный менеджер.
  2. Настройте EDITOR и notification.command.
  3. Добавьте пару тестовых событий и задач.
  4. Проверьте уведомления вручную.
  5. Настройте автоматический экспорт/бэкап (crontab).

Заключение

Calcurse требует небольшого обучения, но быстро окупает это удобством в терминальной работе. Он лёгок, настраиваем и прекрасно подходит для тех, кто автоматизирует рабочие процессы через shell и скрипты. Если ваши потребности ограничены личными планами и напоминаниями в терминале — Calcurse стоит попробовать.

Важно

Если вы планируете интеграцию с облачными сервисами или совместную работу в команде, протестируйте поток синхронизации заранее.

Спасибо за чтение. Использовали ли вы Calcurse или другой инструмент в терминале? Поделитесь опытом в комментариях.

Дополнительно: диаграмма выбора (Mermaid)

flowchart TD
  A[Нужен календарь?] --> B{Требуется GUI}
  B -- Да --> C[Используйте графический календарь]
  B -- Нет --> D{Нужно облачное sync}
  D -- Да --> E[Рассмотрите khal + vdirsyncer]
  D -- Нет --> F[Calcurse]
  C --> G[Google Calendar / Thunderbird]
  E --> G
  F --> H[Хорошо для серверов и автоматизации]
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро