终端任务完成时获取通知

我更喜欢 CLI 模式而不是 GUI 来完成我的 Linux 机器中的大部分任务,我相信你们中的大多数人也会这样做。 当我运行一个需要很长时间才能完成的命令时,我会不断检查终端以确保任务是否完成。 说为 example,当我更新我的 Arch 系统时,我会不断检查终端以了解给定任务是否完成。 不再! 今天,我偶然发现了一个有用的脚本,叫做 通知 当终端活动完成时,它会通过弹出窗口通知您。

我在 Ubuntu 16.04 LTS 桌面上对其进行了测试,如下所述运行良好。

使用 NotiFyre 在终端任务完成时获取通知

确保您已安装以下先决条件。

$ sudo apt-get install notify-osd pulseaudio-utils libnotify-bin

通常,这些先决条件将默认安装在大多数 Linux 发行版上。 通过从终端运行以下命令来检查 notify-osd 是否工作。

notify-send "hello"

上面的命令将打开一个弹出窗口,显示一条消息“hello”。 如果没有消息弹出,则表示 notify-osd 不工作。 尝试重新安装上述先决条件,如下所示。

$ sudo apt-get --reinstall install libnotify-bin notify-osd

现在运行 notify-send 命令,看看是否弹出消息。

接下来,从其 GitHub 页面下载或 git clone NotiFyre 脚本。 该链接附在本指南的末尾。

然后,打开 NotiFyre 文件夹。 复制以下文件并 将它们放在您的 HOME 文件夹中 如果你使用 BASH shell。

  • bash-preexec.sh
  • 通知re.sh
  • 终端.png

然后,编辑 .bashrc 文件:

$ sudo vi ~/.bashrc

在末尾添加以下行。

source ~/notifyre.sh
source ~/bash-preexec.sh

Save 和 close 文件。 然后,运行以下命令使保存的更改生效。

$ source ~/.bashrc

现在,在终端上运行任何任务,每次命令完成时都会通知您。

酷,不是吗?

还要检查这个类似的工具:

  • Undistract-me:长时间运行的终端命令完成时收到通知

如果你使用 鱼壳,您需要将 终端.png, prompt_pwd.fish, 通知鱼 你的文件 ~/.config/fish/functions/ 文件夹。 然后编辑你的 函数/fish_prompt.fish 文件并在结尾之前添加以下行。

function fish_prompt
    ...

    eval (notifyre)  
end

您可以通过在 通知re.sh 文件。

ALERT=/usr/share/sounds/ubuntu/notifications/Slick.ogg

此外,您可以通过编辑 notifyre.sh 文件中的以下行来更改通知间隔时间。

[ $(($(date +%s) - start)) -le 0 ] || notify-send "Terminal process" "$(echo [email protected]) completed in $(($(date +%s) - start)) seconds" -i ~/terminal.png -t 2000

现在,您不必经常检查终端以了解任务是否完成。 只需运行并忘记长时间运行的终端任务。 NotiFyre 将处理它并在任务完成后通知您。

就这样。 希望这很有用。 更多好东西即将到来。 敬请关注!

干杯!

资源:

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!