web-dev-qa-db-ja.com

ジョブ/プロセスが完了したときにiTermターミナルに通知させるにはどうすればよいですか?

通知センターの通知は理想的ですが、うなり声、バウンスドック、サウンドなども問題ありません(または、Terminal.appでのみ実行できる場合は、元に戻したいと思います)。 iTermのどこかに通知をオンにするオプションがありますか、それとも端末のコマンドの最後に入力するものですか?後者の場合、プロセスの開始後にアラートを追加できますか(たとえば、当初の予想よりも時間がかかることがわかった場合、推測が苦手です)。

77
truth1ness

既に実行中のプロセスで通知する

ショートカット: A または:

Edit -> Marks and Annotations -> Alerts -> Alert on next mark

Spooky eye!iTermは文字通り(右上隅に)端末を監視します。コマンドが終了すると、Notification Center

どうして?

すでにコマンドを起動しました。完了に必要な時間を過小評価していたため、キャンセルしたくないため、座って見るのを拒否しました。例えばbrew update久しぶりに!

必要条件

iTerm:Shell Integration:

iTerm2 -> Install Shell Integration

統合では、iTerm2が再起動されるまで通知が表示されないことに注意してください。

137
Paschalis

コマンドの後に、コマンドとコマンドの間にセミコロンを入れて、次のいずれかを追加できます。

afplay /System/Library/Sounds/Ping.aiff -v 2

osascript -e 'beep 3'

tput bel

または、通知センターが好きな場合

osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'

プロファイルにnotifyというエイリアスを作成し、コマンドの最後に追加することもできます。だから、あなたのログインプロファイルで

alias notify="tput bel"

それから

sleep 10; notify

または、コマンドを開始して「ハング」している場合は、notifyと入力してEnterを押すと、コマンドが終了したときにnotifyエイリアスが最後に実行されます終了、例えば.

sleep 20

# wait 5 seconds before realising this will take 20 seconds
notify<Enter>
31
Mark Setchell

そして、いつでもsayコマンドを使用できます。

通常、ターミナル内で長いプロセスを実行していて更新したい場合は、このコマンドを使用してdoneまたはerrorまたはbazingaのようなことを話すことができます。

mvn clean install; say done 

このコマンドは、Java springアプリをビルドし、長い時間がかかり、プロセスが完了した後にdoneと発言します。

25
Farhan Salam

iTerm2Growl通知をサポートします。各プロファイル設定でオンにすることができます。

Preferences…-> Profilesでプロファイルを選択します。次に、TerminalタブにオプションEnable Growl Notificationsがあります。

iTerm設定でGrowl通知も有効にすることを忘れないでください。

特定のプロセスの通知を受け取りたい場合は、Triggersを試してみてください。プロファイル設定のAdvancedタブでトリガーを定義します。この方法で、Growl通知をプロセスの特定の出力(regexp)に割り当てることができます。

たとえば、次のことができます。

$ mycommand; echo "end-of-my-process"

そして、トリガーを「my-of-my-process」メッセージに接続します。

更新

トリガーの詳細については、 iTerm2.com をご覧ください。

15
baf

noti と呼ばれるOSSツールがあります。

brew install notiで簡単にインストールでき、コマンドの前にnoti sleep 3のようなnotiを付けるだけで使用を開始できます。

6
junjian.xu

Mac osシステム通知を使用するterminal-notifierも使用できます。 Home brew経由でインストールする場合:

$ brew install terminal-notifier

次に、ジョブ/プロセスが完了したときに通知を表示する場合は、次のようなものを使用します

$ <your job/process command> && echo 'Completed' | terminal-notifier -sound default

そして、この表示は次のようになります。

enter image description here

通知の音とアイコンを変更することもできます。 githubリポジトリの詳細: https://github.com/julienXX/terminal-notifier

1
MaSza