Как я могу использовать уведомление терминала eOS в Ubuntu?
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 секунд.
sudo apt install undistract-me
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")"'
Предостережение заключается в том, что это может стать довольно раздражающим в ближайшее время, потому что оно будет отправлять уведомление каждый раз при запуске команды.