Como posso usar a notificação do terminal eOS no Ubuntu?

3

elementaryOS possui o seguinte recurso para notificar o usuário sobre um processo de terminal acabado.

É possível usar esse recurso no Ubuntu?

Figura 1: Exemplo de notificação do terminal eOS

    
por orschiro 22.03.2016 / 08:27

3 respostas

4

O que você mais deseja já está disponível em ~/.bashrc courtesy isto e isto :

Observação: isso pressupõe que você tenha libnotify-bin instalado. Se não for, basta executar sudo apt-get install libnotify-bin para obtê-lo.

Verifique se o seu ~/.bashrc tem linhas como esta:

# 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$//'\'')"'

Observe que "Tarefa concluída" não está presente no código original.

Então, no seu exemplo específico, você executará

sudo apt-get update; alert

Se você quiser que a notificação permaneça na tela um pouco mais longa, use -t 3000 (em milissegundos). Ou, se você quiser que a notificação seja exibida até descartá-la, use --urgency=critical .

Veja o que vejo:

    
por DK Bose 22.03.2016 / 12:06
2

undistract-me fornece notificações para comandos de terminal que demoram mais de 10 segundos para serem concluídos.

  1. sudo apt install undistract-me
  2. echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc
por orschiro 06.12.2017 / 06:38
1

Você pode definir $PROMPT_COMMAND para acionar um comando notify-send após a conclusão de um comando em ~/.bashrc :

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

A ressalva é que isso pode se tornar muito irritante em breve, porque ele enviará uma notificação toda vez que um comando for executado.

    
por kos 22.03.2016 / 16:07