如何通过长时间运行的 shell 命令发出桌面通知?

如何通过长时间运行的 shell 命令发出桌面通知?

我目前正在尝试配置 sphinxsearch。索引大约需要 7 分钟。等待的时间太长了,所以我通常会先做一些其他任务,然后再测试结果。但我希望在索引完成时收到通知 - 您有什么想法?问题还在于会话是通过 ssh 运行的。理想的情况是一些托盘通知,可以监视最小化或显示在不同虚拟桌面上的终端上的变化。

答案1

我想到了一些可能性:

  • 播放音乐或警报声音文件
  • 使用浏览器打开一个特定的“我完成了!”网页(如果已经打开,大多数浏览器只会打开一个新选项卡或窗口)
  • notify-sendgmessagexmessage,它们都做大致相同的事情:弹出一个带有您指定的消息的 x-windows 窗口。

答案2

为了详细说明@pjz 的答案,您可以使用 xmessage (或任何其他可以使某些事情以视觉方式发生的命令),如下所示:

long-running-command; xmessage "I'm Done"

当您的命令完成时,将会弹出一个小的通知窗口。

答案3

我知道screen终端程序可以在以下情况下发出铃声输出停止在虚拟屏幕上...但我不确定这是否能实现您所寻找的效果。

答案4

KDE 的 konsole 可以选择在终端会话产生新输出时通知您(铃声/图标更改)。在 konsole 中运行索引,并附加类似“&& echo done”的内容以在末尾获取输出(如果正常情况下没有输出)。从索引重定向常规输出。

相关内容