Существует ли команда для отображения Календаря в терминале?

Вопрос или проблема

Работая в терминале, неудобно переходить к области уведомлений, чтобы отобразить текущее календарь. Есть ли команда, которая отображает календарь из терминала?

cal команда календаря для терминала

Вы можете использовать команду cal для отображения календаря в юлианском или григорианском формате. Формат зависит от ваших настроек локали, но может быть переключен с помощью параметров.

Как показывает экран ниже, по умолчанию отображается текущий месяц. Вы можете использовать параметр -A 2, чтобы отобразить следующие два месяца, или 2018, чтобы отобразить все месяцы в этом году:

cal


Версии Ubuntu после 20.04

После версии 20.04 вам может понадобиться использовать

sudo apt update
sudo apt install ncal

Обратите внимание, что пакет ncal включает команду cal. Также обратите внимание, что ncal доступен из коробки в более ранних версиях Ubuntu до 20.04.

Например, на Ubuntu 16.04 LTS ECM:

$ ncal

    Март 2022        
Вс     6 13 20 27   
Пн     7 14 21 28   
Вт  1  8 15 22 29   
Ср  2  9 16 23 30   
Чт  3 10 17 24 31   
Пт  4 11 18 25      
Сб  5 12 19 26      

Альтернативой является ncal – он отображает календарь в вертикальном формате, т.е.:

    Март 2017
Вс     5 12 19 26
Пн     6 13 20 27
Вт     7 14 21 28
Ср  1  8 15 22 29
Чт  2  9 16 23 30
Пт  3 10 17 24 31
Сб  4 11 18 25

Это немного сложнее читать, но, как говорят, имеет преимущество в том, что календарь всего года, располагая четыре месяца в каждом ряду, помещается в стандартный размер терминала. На самом деле он не помещается, вам нужно удалить пустые строки из вывода, чтобы он влез в 24 строки: ncal 2017 | grep -v '^$'. В оригинальной версии ncal не было этих пустых строк. В любом случае, он занимает меньше вертикального пространства, чем традиционный вывод календаря – 26×76 против 35×66 для cal.

Khal – это приложение-календарь, которое соответствует тому, что кто-то мог бы ожидать в 2020 году:

khal.png

Его можно установить с помощью pip3 install khal (или просто pip вместо pip3). Он поддерживает стандартный формат CalDav и может синхронизироваться с сервером CalDav. Кроме того, он включает интерактивный инструмент (ikhal или khal interactive) (что-то вроде tig для git) для просмотра и редактирования событий более удобным способом без необходимости запоминать все флаги и синтаксис и т.д.

Программируемые календари

Хотя это графические календари, вы все равно можете вызывать их из терминала. Они позволяют вам перемещаться по месяцам и годам. Они предназначены для вызова из ваших скриптов Bash, но, как и все команды Bash, вы можете вызывать их и из терминала.

YAD (Yet Another Dialog) суперзаряженная версия Zenity

calendar yad

Zenity графическая версия текстового dialog

calendar zenity

Не беспокойтесь о сообщении об ошибке Gtk. Вы видите это часто, когда запускаете графические программы из терминала. Например, gedit и nautilus отображают подобные предупреждения.

Еще одной альтернативой стандартному cal является Утилита цветного календаря (CCAL):

CCAL является заменой стандартной программы календаря unix. Она включает поддержку цвета и ежедневных,Weekly@y и ежегодных напоминаний/встреч.

С 2022-06-01 она доступна в репозиториях с sudo apt install ccal.

используйте команду cal для стандартного календаря. также вы можете установить пакет jcal для джалали календаря.

введите здесь описание изображения

Я настоятельно рекомендую взглянуть на calcurse (https://www.calcurse.org/). У него есть не только календарь, но и синхронизация CalDav, а также список дел с возможностью настройки.

calcurse скриншот

скриншот calcurse

Ответ или решение

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

Использование команды cal

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

cal

Также есть несколько полезных параметров, которые вы можете использовать:

  • Чтобы отобразить следующий (или предыдущий) месяц, можно использовать параметры -A (следующие месяцы) и -B (предыдущие месяцы):

    cal -A 2  # Отобразить текущий и следующие два месяца 
    cal -B 1  # Отобразить текущий и предыдущий месяц
  • Если вы хотите увидеть все месяцы в конкретном году, укажите год:

    cal 2023  # Отобразить календарь на 2023 год

Установка ncal

Существуют также альтернативы к команде cal, среди которых команда ncal. Эта команда отображает календарь в вертикальном формате. Чтобы установить ncal, выполните следующие команды (если вы используете Ubuntu после версии 20.04):

sudo apt update
sudo apt install ncal

Использовать ncal можно так:

ncal

Графические решения

Если вам больше нравятся графические интерфейсы, вы можете использовать YAD (Yet Another Dialog) или Zenity, которые предоставляют графические версии календаря и могут быть вызваны из терминала:

yad --calendar  # Запуск календаря YAD
zenity --calendar  # Запуск календаря Zenity

Альтернативные приложения

Существуют и другие интересные приложения, такие как Khal, которое поддерживает стандартный формат CalDav и позволяет синхронизировать события с сервером CalDav. Его установка выполняется через pip:

pip3 install khal

На выбор также доступны решения, такие как CCAL и calcurse, которые предоставляют не только отображение календаря, но и дополнительные функции, такие как напоминания и управление задачами.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...