Как я могу использовать уведомление терминала eOS в Ubuntu?

elementaryOS имеет следующую функцию, чтобы уведомить пользователя о завершенном терминальном процессе.

Можно ли использовать эту функцию в Ubuntu?

Рисунок 1: Пример уведомления терминала eOS

3 ответа

Решение

То, что вы хотите, скорее всего, уже доступно через ваш ~/.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,

Вот что я вижу:

undistract-me предоставляет уведомления для команд терминала, выполнение которых длится более 10 секунд.

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

Вы можете установить $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")"'

Предостережение заключается в том, что это может стать довольно раздражающим в ближайшее время, потому что оно будет отправлять уведомление каждый раз при запуске команды.

Другие вопросы по тегам