David Walsh Blogは2月24日(米国時間)、「View Mac Calendar from Command Line」において、macOSのカレンダーアプリケーションが管理するスケジュールデータをコマンドラインから表示させる方法を紹介した。icalBuddyと呼ばれるツールを使って指定した日や期間のスケジュールをコマンドラインに出力させている。

取り上げられているインストール方法および使用方法は次のとおり。

操作 コマンド
brew install ical-buddy icalBubbyをインストール
icalBuddy -f -sd eventsToday 本日のスケジュールを表示
icalBuddy -f -sd eventsToday+10 本日から向こう10日間のスケジュールを表示

icalBuddyのインストールには、Homebrewと呼ばれるパッケージ管理システムが使われている。Homebrewを利用するには、先にHomebrewをインストールしておく必要がある。

macOSにはデフォルトでカレンダーアプリケーションが同梱されており、複数のアカウントの併用やカレンダーのインポートが可能。

  • macOSのカレンダーアプリケーション

    macOSのカレンダーアプリケーション

コマンドラインではcalと呼ばれるFreeBSD由来のカレンダーコマンドを利用できる。

  • FreeBSD由来のカレンダーコマンド

    FreeBSD由来のカレンダーコマンド

しかし、macOSのカレンダーアプリケーションとcalコマンドは連動しておらず、別々にデータを管理している。記事で取り上げられているicalBuddyは以前から存在しているツールで、macOSのカレンダーアプリケーションデータをコマンドラインから閲覧することができる。

なお、最近のmacOSでは、セキュリティおよびプライバシー機能の強化によって設定を変更しなければカレンダーデータにアクセスできなくなっている。icalBuddyを使用するには、システム環境設定から「セキュリティとプライバシー」を選択し、「カレンダー」の項目でicalBuddyを使用するターミナルアプリケーションに対してアクセス許可を与える必要がある。

  • システム環境設定の「セキュリティとプライバシー」においてカレンダーにアクセスするターミナルアプリケーションをアクセス許可を与える

    システム環境設定の「セキュリティとプライバシー」においてカレンダーにアクセスするターミナルアプリケーションをアクセス許可を与える

  • 設定変更後の最初にアクセス時に表示されるダイアログ

    設定変更後の最初にアクセス時に表示されるダイアログ

icalBuddyを実行すると次のような出力を得ることができる。

  • icalBuddyコマンドの実行例

    icalBuddyコマンドの実行例

icalBuddyには日時や期間を指定してスケジュールデータを表示させることができるほか、完了していないタスクを表示する機能、設定ファイルを編集する機能なども用意されている。