如何在 Ubuntu 中使用 eOS 终端通知?

如何在 Ubuntu 中使用 eOS 终端通知?

elementaryOS 具有以下功能,可以通知用户终端进程已完成。

可以在 Ubuntu 中使用这个功能吗?

在此处输入图片描述

图1:eOS终端通知示例

答案1

~/.bashrc你最想要的很可能已经通过你的礼貌得到了

注意:这假设您已经libnotify-bin安装。如果没有,请运行sudo apt-get install libnotify-bin以获取它。

检查你的~/.bashrc代码中是否有如下几行:

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Task finished" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

请注意,原始代码中不存在“任务完成”。

因此,在您的具体示例中,您将运行

sudo apt-get update; alert

如果您希望通知在屏幕上停留更长时间,请使用-t 3000(以毫秒为单位)。或者,如果您希望通知一直显示直到您将其关闭,请使用--urgency=critical

以下是我所看到的:

OSD 警报

答案2

不分散我的注意力为需要超过 10 秒才能完成的终端命令提供通知。

  1. sudo apt install undistract-me
  2. echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc

答案3

您可以设置在命令完成时$PROMPT_COMMAND触发命令:notify-send~/.bashrc

PROMPT_COMMAND='notify-send --icon=/usr/share/icons/Adwaita/256x256/apps/utilities-terminal.png "Task finished" "$(history | sed -n "\$s/^  [0-9]\+  //p")"'

在此处输入图片描述

需要注意的是,这很快就会变得非常烦人,因为每次运行命令时它都会发送通知。

相关内容