Управление Google Calendar из командной строки с gcalcli
gcalcli — это легковесный CLI-клиент для Google Календаря: ищет события, добавляет быстрые записи и может напоминать. В статье показано, как установить, настроить, запускать команды, вывести календарь на рабочий стол через Conky и автоматизировать напоминания.
Важно: хранить пароль в открытом виде небезопасно. Предпочтительно настроить OAuth или использовать безопасное хранилище паролей.
Что такое gcalcli (в 1 строке)
gcalcli — Python-программа, позволяющая просматривать и редактировать Google Календарь из терминала.
Установка
gcalcli доступен в репозиториях Ubuntu и большинства дистрибутивов. Установите через пакетный менеджер:
sudo apt-get install gcalcliДля вывода календаря на рабочий стол потребуется Conky:
sudo apt-get install conkyСовет: в современных системах пакет может называться иначе или требовать pip-установки. Если в репозитории нет, используйте pip: pip install gcalcli под управлением подходящей среды Python.
Настройка
Создайте файл конфигурации в домашней директории с именем .gcalclirc.
Пример простого файла (небезопасно, только для теста):
[gcalcli]
user: yourusername
pw: yourpasswordЗамените yourusername на логин вашего Google‑аккаунта (без @gmail.com, если так вы входите). Замените yourpassword на пароль.
Важно:
- По возможности не храните пароль в открытом виде. Настройте OAuth‑авторизацию или храните учётные данные в безопасном менеджере паролей.
- Имя файла должно начинаться с точки и не иметь расширения:
.gcalclirc.
Быстрые команды — краткая шпаргалка
Показать повестку на ближайшие 5 дней:
gcalcli agendaПоказать 2‑недельный обзор (приведён пример на 2 недели):
gcalcli calw 2Показать календарь на весь месяц:
gcalcli calmДобавить событие «на ходу» (быстрая запись):
gcalcli quick '5pm 31/7/2010 Meeting with Advertisers'
# или
gcalcli quick 'Dinner with Eric 7pm tomorrow'Показать всплывающие напоминания за N минут до события:
gcalcli remind 10Изображение: ваше событие/повестка (пример в терминале):



Вывод календаря на рабочий стол с помощью Conky
Комбинируем conky и gcalcli, чтобы видеть повестку прямо на рабочем столе.
Создайте файл .conkyrc в домашней директории со следующим содержимым:
alignment top_right
background no
border_width 0
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=12
gap_x 5
gap_y 60
minimum_size 55
net_avg_samples 2
double_buffer yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_class Conky
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no
text_buffer_size 8096
TEXT
${execi 300 gcalcli --nc --cals=owner calw 4}Нажмите Alt+F2, введите ‘conky’ и нажмите Enter — повестка на 4 недели появится на рабочем столе и будет обновляться каждые 5 минут (опция execi 300 задаёт интервал 300 с).

Автоматизация напоминаний
gcalcli не создаёт фоновых демонов по умолчанию — команду gcalcli remind нужно запускать регулярно. Варианты автоматизации:
- Crontab (пример запуска каждые 5 минут):
*/5 * * * * /usr/bin/gcalcli remind 10 --nc- systemd user‑timer: создать unit и timer, если вы предпочитаете systemd для управления задачами.
- Использовать планировщик задач рабочего стола (gnome-schedule или планировщик вашей среды).
Важно: укажите полный путь к исполняемому файлу gcalcli в crontab и настройте окружение (PATH), если cron не видит команды.
Безопасность и приватность
- Никогда не выкладывайте файл
.gcalclircв публичные репозитории. - По возможности используйте OAuth‑авторизацию или токены вместо хранения пароля в явном виде.
- Для корпоративных аккаунтов уточните политику безопасности: хранение паролей и доступ к календарю могут быть запрещены.
- С точки зрения GDPR: используйте gcalcli только для обработки собственных данных или с явным согласием участников событий.
Альтернативы и когда gcalcli может не подойти
- Если вам нужен полный контроль через API (массовая синхронизация, сложные интеграции) — используйте Google Calendar API и собственный скрипт на Python/Node.js.
- Для графических напоминаний с богатым UI лучше подходит веб‑интерфейс Google Calendar или мобильное приложение.
- Если нужна корпоративная интеграция и централизованная аутентификация, рассмотрите сервисы с поддержкой SSO.
Шпаргалка команд (cheat sheet)
- agenda — повестка на ближайшие дни
- calw N — N недель (например, calw 2)
- calm — месяц
- quick ‘описание’ — быстрая запись события
- remind N — напоминания за N минут
- –cals=NAME — указать конкретный календарь
- –nc — без цветного вывода (удобно для Conky/скриптов)
Рекомендуемая методика внедрения (мини‑методология)
- Тестируйте gcalcli без пароля: просматривайте
agendaиcalw. - Настройте
.gcalclircтолько после оценки рисков безопасности. - Настройте автоматизацию через cron или systemd и проверьте логи.
- Переносите в прод только после нескольких дней стабильной работы.
Роль‑ориентированные контрольные списки
Для обычного пользователя:
- Установить gcalcli
- [ ] Просмотреть
gcalcli agenda - [ ] Попробовать
gcalcli quickдля создания события
Для администратора/DevOps:
- Проверить наличие пакета в репозитории
- Настроить безопасное хранение учётных данных
- Настроить systemd timer или cron с логированием
Отладка и типичные проблемы
- Ошибка авторизации: проверьте логин/пароль и наличие двухфакторной аутентификации (2FA). Если включён 2FA, используйте OAuth или приложение‑пароль.
- Cron не запускает команду: убедитесь, что задан полный путь до gcalcli и установлен PATH. Логи crontab помогают понять причину.
- Конфликт временных зон: проверьте настройки TZ в окружении и в Google Calendar.
Критерии приёмки
- gcalcli корректно показывает события командой
agenda. - Быстрые записи через
quickпоявляются в веб‑интерфейсе Google Calendar. - Автоматизированный remind запускается по расписанию и выводит ожидаемые напоминания.
Краткое резюме
gcalcli даёт быстрый и минималистичный доступ к Google Календарю из терминала. Подходит для любителей CLI, для автоматизации простых напоминаний и интеграции с рабочим столом через Conky. Всегда учитывайте безопасность при хранении учётных данных.
Дополнительные ресурсы: посетите HowTo‑вики проекта gcalcli и сообщества для получения подсказок и последних обновлений.
Короткая анонс‑версия: попробуйте gcalcli, если хотите управлять Google Календарём напрямую из терминала и видеть повестку на рабочем столе с помощью Conky.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента