Mac

OS Xのコマンドラインから通知センターにアラートを送信する

OS Xのコマンドラインから通知センターにアラートを送信する

OS Xの通知センターにアラートを送信する

terminal-notifier という優れたサードパーティ製ツールを使えば、コマンドラインから直接通知センターにアラートやメッセージを送信できます。このツールは様々な用途に活用できますが、中でも特に素晴らしいのは、コマンドの完了を音声で知らせたり、バッジアラートを送信したりするのと同じような機能で、通知を OS X Mountain Lion の通知センターに送信するというものです。

ターミナル通知ツールのインストール

Mac に ruby​​ がインストールされている場合は、gem を使用して terminal-notifier を簡単にインストールできます。

sudo gem install terminal-notifier

Ruby をお持ちでない場合は、GitHub からビルド済みのバイナリをダウンロードできますが、terminal-notifier を実行するには、次のようにアプリ バンドル内のバイナリを指定する必要があります。

./terminal-notifier.app/Contents/MacOS/terminal-notifier

後者の方法を選択する場合は、bash_profile にエイリアスを作成することをお勧めします。この記事では、ruby 経由でインストールしたと仮定します。

ターミナル通知機能を使用して通知センターに投稿する

インストールが完了したら、最も基本的なコマンドの使用方法は次のとおりです。

terminal-notifier -message "Hello, this is my message" -title "Message Title"

コマンドラインから投稿された通知センターのポップアップアラート

コマンドが完了した後にメッセージを投稿するのは簡単です。次のように terminal-notifier を追加するだけです。

ping -c 5 yahoo.com && terminal-notifier -message "Finished pinging yahoo" -title "ping"

これらは非対話型の通知を投稿しますが、さらに深く掘り下げると、アプリケーションを起動したり、ターミナル コマンドを実行したり、URL を開いたりすることもできます。

通知をインタラクティブにする: URL やアプリケーションを開き、ターミナルコマンドを実行する

さらに便利なのは -open コマンドと -activate コマンドです。これらのコマンドを使用すると、通知がクリックされた際に起動するURLまたはアプリケーションを指定できます。例えば、以下のコマンドはクリック時に osxdaily.com を開きます。

terminal-notifier -message "Go to OSXDaily.com, it's the best website ever!" -title "osxdaily.com" -open https://osxdaily.com

通知は通知センターに投稿され、クリックするとデフォルトの Web ブラウザーで osxdaily.com が開きます。

次の例では、通知をクリックすると TextEdit が開きます。

terminal-notifier -message "Time to braindump into TextEdit" -title "Braindump" -activate com.apple.TextEdit

通知が操作された場合は、ターミナル コマンドを実行することもできます。

terminal-notifier -message "Time to run your backups" -title "Backup Script" -execute backupscript

これらはほんの一例ですが、このような機能の用途は無限にあることは明らかです。この機能の便利さを考えると、AppleがOS Xにこの機能を搭載していないのは驚きです。とはいえ、いつか状況が変わるかもしれません。それまでは、terminal-notifierをぜひお楽しみください。素晴らしいツールです。