Mac で時間がかかるコマンドを実行し、コマンドが終了したら通知する方法を紹介します。コマンドを実行している間に他の作業をしていて、コマンドが終わっているかどうか何度も見に行くのが面倒だったので、通知してくれるようにしました。
目次
- julienXX/terminal-notifier をインストール
- marzocchi/zsh-notify
- zplug をインストール
- zplug で marzocchi/zsh-notify をインストール
- 動作確認
julienXX/terminal-notifier をインストール
ターミナルから通知を送ることができるツール julienXX/terminal-notifier をインストールします。
brew コマンドで入れられます。
$ brew install terminal-notifier
使い方はコマンドの後ろにパイプで terminal-notifier を渡すだけ。
$ echo 'Piped Message Data!' | terminal-notifier
marzocchi/zsh-notify
上記の方法でもコマンド終了時に通知を送ることはできますが、毎回パイプで渡すのは面倒です。zsh の marzocchi/zsh-notify プラグインを使うことでパイプを省略することができます。
インストール方法を見ると、プラグインマネージャーを使ったインストール方法が紹介されています。私はこれまで zsh のプラグインマネージャーを使っていなかったので、これを機に導入してみることに。
zsh のプラグインマネージャーを調べると、いくつか候補が。
- zsh-users/antigen: The plugin manager for zsh.
- tarjoilija/zgen: A lightweight and simple plugin manager for ZSH
- zplug/zplug: A next-generation plugin manager for zsh
antigen が定番っぽく GitHub のスターの数が一番多いですが、より改良が施されたとされる zplug を使ってみます。zplug は作者が日本人のようです。
zplug をインストール
インストール方法は zplug/zplug: A next-generation plugin manager for zsh を参考にします。
brew で入れられます。
$ brew install zplug
zplug で marzocchi/zsh-notify をインストール
.zshrc に以下のように書きます。
export ZPLUG_HOME=/usr/local/opt/zplug
source $ZPLUG_HOME/init.zsh
zplug "marzocchi/zsh-notify"
if ! zplug check --verbose; then
printf 'Install? [y/N]: '
if read -q; then
echo; zplug install
fi
fi
ターミナルを再起動すると zsh-notify をインストールするかを尋ねられます。y を選択すると、zsh-notify のインストールが始まります。私の環境では /usr/local/opt/zplug/repos/marzocchi/zsh-notify
にインストールされました。
動作確認
ターミナルを起動し、sleep コマンドで動作確認してみます。しばらくして通知が送られてくれば成功です。
$ sleep 35
30 秒が長いと感じる方は、.zshrc に以下のように追記することでカスタマイズできます。詳しくはドキュメントをご確認ください。
zstyle ':notify:*' command-complete-timeout 15
次の記事では、zsh をいい感じに設定してくれる prezto をインストールする方法を紹介します。
-
zplug で prezto をインストールする
zsh の設定をいい感じにしてくれるツール prezto を zplug で管理する方法を紹介します。 前回の記事で z ...
続きを見る