UBUNTU 中的 Elementary OS 终端铃声

UBUNTU 中的 Elementary OS 终端铃声

我最近从 Elementary OS 转到了 UBUNTU 20.04 LTS。Elementary OS 上一个非常有用的功能是终端铃声。当终端中的命令执行完毕后,会发出铃声并在通知区域中显示通知。

notify-send "Task Complete" && printf '\a'这可以通过与原始命令一起使用来实现&&

但这里有个问题:
1. 这个命令很长,每次都需要输入。alias可以使用,但每次仍然需要输入。2
. 即使终端处于焦点状态,它也会响铃。

所以我的问题是,我希望每次都执行一个特定的命令,该命令notify-send "Task Complete" && printf '\a'仅在终端失去焦点时执行。而且不需要每次都输入这个命令。

编辑1 有人建议如何在过程完成后发出声音?
但我的问题是,如何在不输入任何额外命令的情况下响铃。有没有办法将一些脚本或其他东西集成到终端本身中,这样它就可以自行发出蜂鸣声,而无需任何额外命令。

答案1

我找到了一个令人满意的解决方案。它使用oh-my-zsh。有一个名为的插件bg-notify可以完全满足问题的要求。它甚至会在通知栏中发送通知以及音频提示。

答案2

有趣的问题!

xdotool我使用( sudo apt-get install xdotool) 和pstree( )制作出了自己的混合物sudo apt-get install psmisc

#! /bin/bash
ACTIVE_WINDOW_PID=$(xdotool getactivewindow getwindowpid)
if [ ! $(pstree -spA $PPID | grep "(${ACTIVE_WINDOW_PID})") ]; then
  notify-send "Task Complete" && printf '\a'
fi

我有这个~/bin/ring并且我使用以下命令来验证它是否有效:sleep 3 ; ~/bin/ring

使用xdotool您甚至可以获取窗口标题并使用报告它notify-send,或者在命令存在时聚焦终端窗口。

相关内容