it-swarm.com.de

Wie kann ich das iTerm-Terminal benachrichtigen, wenn ein Job/Prozess abgeschlossen ist?

Eine Benachrichtigung in der Benachrichtigungszentrale wäre ideal, aber Knurren, Bounce-Dock, Sound usw. wäre ebenfalls in Ordnung (oder wenn dies nur in Terminal.app möglich ist, würde ich gerne zurückkehren). Gibt es irgendwo in iTerm eine Option, Benachrichtigungen zu aktivieren, oder sollte ich etwas am Ende eines Befehls im Terminal eingeben? Ist letzteres möglich, ist es möglich, eine Benachrichtigung hinzuzufügen, sobald der Prozess gestartet wurde (wenn ich zum Beispiel merke, dass es länger dauern wird, als ich ursprünglich erwartet hatte, kann ich nicht raten). 

59
truth1ness

Benachrichtigen Sie bei einem bereits laufenden Prozess

Abkürzung: A oder:

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

Spooky eye! : iTermNAME _ wird buchstäblich ein Auge (in der rechten oberen Ecke) auf Ihr Terminal werfen. Sobald der Befehl beendet ist, wird er den Notification Center kontaktieren.

Warum?

Wir haben den Befehl bereits gestartet. Wir haben den Zeitaufwand für die Fertigstellung unterschätzt, wir möchten ihn nicht stornieren und wir weigern uns, uns hinzusetzen und ihn anzusehen. z.B. ein brew update nach langer zeit!

Bedarf

iTerm: Shell Integration:

iTerm2 -> Install Shell Integration

Beachten Sie, dass die Integration keine Benachrichtigungen anzeigt, bis iTerm2 neu gestartet wird.

131
Paschalis

Sie können nach jedem Befehl Folgendes hinzufügen, wobei sich zwischen dem Befehl und dem Komma ein Semikolon befindet:

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

osascript -e 'beep 3'

tput bel

oder wenn Sie Notification Center mögen

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

Sie können in Ihrem Profil auch einen Alias ​​mit dem Namen notify erstellen und diesen am Ende Ihres Befehls hinzufügen. Also in Ihrem Login-Profil

alias notify="tput bel"

dann

sleep 10; notify

Wenn Sie Ihren Befehl gestartet haben und "hängen", geben Sie einfach notify ein und drücken Sie Enter. Am Ende wird der Alias ​​notify ausgeführt, wenn der Befehl beendet ist, z.

sleep 20

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

Und Sie können immer den Befehl say verwenden.

Normalerweise, wenn Sie einen langen Prozess innerhalb des Terminals ausführen und aktualisiert werden möchten, können Sie diesen Befehl einfach verwenden, um Dinge wie done oder error oder bazinga auszusprechen.

mvn clean install; say done 

Mit diesem Befehl wird eine Java-Spring-App erstellt, die sehr lange dauert und nach Abschluss des Prozesses done ausgegeben wird.

19
Farhan Salam

iTerm2 unterstützt Growl-Benachrichtigungen. Sie können es in den einzelnen Profileinstellungen aktivieren.

Wählen Sie in Preferences…-> Profiles..__ ein Profil aus. Dann gibt es auf der Registerkarte Terminal die Option Enable Growl Notifications.

Denken Sie daran, auch iTerm-Benachrichtigungen in den Growl-Voreinstellungen zu aktivieren.

Wenn Sie eine Benachrichtigung für einen bestimmten Prozess erhalten möchten, können Sie versuchen, mit Triggers zu experimentieren. Sie definieren Auslöser auf der Registerkarte Advanced in Profileinstellungen. Auf diese Weise können Sie einer bestimmten Ausgabe Ihres Prozesses eine Growl-Benachrichtigung zuweisen (Regexp).

Sie könnten zum Beispiel tun:

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

Und verbinden Sie den Auslöser mit der Nachricht "Ende meines Prozesses".

Update

Weitere Informationen zu Auslösern finden Sie unter iTerm2.com .

13
baf

Es gibt ein OSS-Tool namens noti .

Sie können es einfach mit brew install noti installieren und verwenden, indem Sie Ihrem Befehl noti wie noti sleep 3 voranstellen.

3
junjian.xu

Sie können auch terminal-notifier verwenden, die Mac OS-Systembenachrichtigungen verwenden. Um es über Home Brew zu installieren, einfach:

$ brew install terminal-notifier

Wenn Sie eine Benachrichtigung anzeigen möchten, wenn Ihr Job/Prozess abgeschlossen ist, verwenden Sie etwas Ähnliches

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

Und diese Anzeige wie folgt:

 enter image description here

Sie können auch den Ton und das Symbol für Benachrichtigungen ändern. Weitere Informationen in github repo: https://github.com/julienXX/terminal-notifier

0
MaSza