如何在OS X中从远程终端触发通知

j

我在远程Shell上运行了很长的过程。我想在流程完成后触发通知。这个答案是不够的,因为long命令在远程服务器上,因此它不能调用terminal-notifier。

通过使用iTerm2触发器,我可以接近期望的结果。例如,如果我在远程服务器上运行以下命令,并为__FINISHED__设置了iTerm2触发器:

./long_process && echo "\__FINISHED__"

这具有令人讨厌的功能,即每次我在编辑器或代码中滚动回该命令时(我正在emacs shell中运行代码),都会触发通知。

一种解决方案可能是iTerm2可以识别的某种文本通知,但不会出现在emacs回滚缓冲区中。

芒登

您尚未指定所需的通知类型,也未指定远程服务器正在运行的操作系统,因此在此我必须做一些假设。我将假设您真的不关心通知的类型,只要您收到通知并且远程服务器正在运行某种形式的* nix。

  1. 给自己发送电子邮件。如果sendmail已在服务器上配置,则可以执行

    ./long_process && echo "Job done" | sendmail [email protected]
    
  2. ssh返回本地计算机(假设有可能)并使其与您对话。有关使OSX发出哔哔声的更酷方法,请参见此处

    ./long_process && ssh [email protected] say "Yo! All done"
    

    或者

    ./long_process && ssh [email protected] terminal-notifier -message "Job finished!" -title "Info"
    

    如果您是从动态IP连接的,并且已经配置了路由器以便可以SSH到该动态IP,则可以执行此操作(假设您当前仅从远程计算机连接):

    ip=$(who | grep $USER | perl -lne 's/\\((.+?)\\)\s*$//; print "$1"' | tail -n 1) &&
     ./long_process && ssh you@$ip terminal-notifier -message "Job finished!" -title "Info"
    

    您可以按常规方式设置无密码的ssh 它不应受到动态IP的影响。完成此操作后,上面的代码将起作用。

  3. 使用推覆并将通知发送到您的Android或iOS设备(如果有的话)

    ./long_process && pushover.pl "All done"
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在OS X上卸载Subversion

来自分类Dev

如何在Mac OS X中安装OCLint

来自分类Dev

如何在OS X上运行Hadoop?

来自分类Dev

如何在OS X上安装gprof

来自分类Dev

如何在Mac OS X中隐藏终端窗口?

来自分类Dev

如何在OS X中打印MKMapView?

来自分类Dev

如何在Mac OS X中设置默认的蚂蚁路径?

来自分类Dev

如何在Windows OS中安装Babel?

来自分类Dev

如何在Cent OS中安装luarocks?

来自分类Dev

如何在Firefox OS中从JavaScript触发本机datepickers?

来自分类Dev

如何在OS X上旋转NSTextField?

来自分类Dev

如何在OS X中将iTerm设置为默认终端?

来自分类Dev

Mac OS X:双击文件时如何在终端中打开vim

来自分类Dev

如何在OS X终端中跳过单词?

来自分类Dev

如何在OS X的终端中使用ALT命令?

来自分类Dev

如何在OS X终端上发送转义符?

来自分类Dev

如何在OS X上安装matplotlib?

来自分类Dev

如何在OS X和iTerm2的终端中更改ls命令的输出颜色?

来自分类Dev

如何在OS X上安装ffmpeg?

来自分类Dev

如何在OS X上清理Diskpart

来自分类Dev

如何在Mac OS X中更正发生故障的终端?

来自分类Dev

如何在OS X上配置SSH?

来自分类Dev

如何在OS X上更改终端的启动目录?

来自分类Dev

如何在OS X中将终端背景更改为照片

来自分类Dev

如何在OS X终端中显示UTF8字符串

来自分类Dev

如何在grub中更改os的名称?

来自分类Dev

如何在Mac OS X Lion中打开干净的终端?

来自分类Dev

如何在Cent OS中删除Python?

来自分类Dev

如何在 mac os 命令终端中执行 testng