- Вопрос или проблема
- cal команда календаря для терминала
- Версии Ubuntu после 20.04
- Программируемые календари
- YAD (Yet Another Dialog) суперзаряженная версия Zenity
- Zenity графическая версия текстового dialog
- calcurse скриншот
- Ответ или решение
- Использование команды cal
- Установка ncal
- Графические решения
- Альтернативные приложения
- Заключение
Вопрос или проблема
Работая в терминале, неудобно переходить к области уведомлений, чтобы отобразить текущее календарь. Есть ли команда, которая отображает календарь из терминала?
cal
команда календаря для терминала
Вы можете использовать команду cal
для отображения календаря в юлианском или григорианском формате. Формат зависит от ваших настроек локали, но может быть переключен с помощью параметров.
Как показывает экран ниже, по умолчанию отображается текущий месяц. Вы можете использовать параметр -A 2
, чтобы отобразить следующие два месяца, или 2018
, чтобы отобразить все месяцы в этом году:
Версии 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 году:
Его можно установить с помощью pip3 install khal
(или просто pip вместо pip3). Он поддерживает стандартный формат CalDav и может синхронизироваться с сервером CalDav. Кроме того, он включает интерактивный инструмент (ikhal
или khal interactive
) (что-то вроде tig
для git) для просмотра и редактирования событий более удобным способом без необходимости запоминать все флаги и синтаксис и т.д.
Программируемые календари
Хотя это графические календари, вы все равно можете вызывать их из терминала. Они позволяют вам перемещаться по месяцам и годам. Они предназначены для вызова из ваших скриптов Bash, но, как и все команды Bash, вы можете вызывать их и из терминала.
YAD
(Yet Another Dialog) суперзаряженная версия Zenity
Zenity
графическая версия текстового dialog
Не беспокойтесь о сообщении об ошибке 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
скриншот
Ответ или решение
Да, в терминале можно отобразить календарь с помощью встроенной команды 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
и ее производные предоставляют множество возможностей для отображения календаря прямо в терминале без необходимости переходить к графическому интерфейсу. А дополнительные утилиты и приложения расширяют функционал, позволяя интегрировать календарь в ваши рабочие процессы. Подобные инструменты являются незаменимыми в современном мире, где управление временем играет ключевую роль в продуктивности.