Existe uma maneira de mostrar a notificação do script bash no Ubuntu?

96

A maior parte da aplicação pode mostrar notificações bem formatadas sobre eventos que aparecem no canto superior direito da tela. Estou prestes a escrever um script que fará um processamento longo de fadas em segundo plano e eu realmente quero saber quando terminar. Como posso mostrar essa boa notificação de um script bash?

    
por vava 29.08.2009 / 12:31

7 respostas

110

Se você estiver usando o novo sistema de notificação no Jaunty, você quer o comando notify-send

notify-send - a program to send desktop notifications

SYNOPSIS

With notify-send you can sends desktop notifications to the user via
a notification daemon from the command line.  These notifications can be
used to inform the user about an event or display some form of information
without getting in the user's way.

OPTIONS

-u, --urgency=LEVEL
Specifies the urgency level (low, normal, critical).

-t, --expire-time=TIME
    Specifies the timeout in milliseconds at which to expire the notification.
-i, --icon=ICON[,ICON...]
    Specifies an icon filename or stock icon to display.
-c, --category=TYPE[,TYPE...]
    Specifies the notification category.
    
por 29.08.2009 / 12:35
25

Encontrado de outra forma, através de Zenity

echo 'message:hi' | zenity --notification --listen

(Isso também tem o benefício de já estar instalado no Ubuntu.)

    
por 29.08.2009 / 13:14
11

Há também xmessage que exibirá uma janela, ele deve funcionar em qualquer sistema X11.

Pro: Ele também permite interativamente solicitar ao usuário botões.

Con: Como qualquer alerta de pop-up, normalmente recebe foco, portanto, se você estiver no meio da digitação, ele poderá desaparecer antes de você ler a mensagem.

    
por 24.10.2009 / 00:32
10

Para usuários do KDE:

$ kdialog --title "Long process completed!" --passivepopup "This popup will disappear in 5 seconds" 5 &
    
por 29.08.2009 / 23:14
3

Existe uma solução multiplataforma chamada Yfiton :

$ yfiton -n desktop -Pmessage="Lunch time!" -Pposition=TOP_RIGHT
    
por 11.01.2016 / 21:10
2

Notificação de pop-up que é fechada automaticamente após 10 segundos:

notify-send "Hello world"

Fonte: link

Janela pop-up com botões para clicar:

[a janela não recebe foco automático]

notify-send -t 0 "Hello world"

Fonte: eu mesmo; nota: -t é ignorado para todos os valores exceto 0 - quão estúpido . : (

OR
[a janela fica com foco automático]

zenity --info --title "Hello" --text "World"

Fonte: link

OR

[MY FAVORITE, uma vez que a janela é fechada automaticamente após o --timeout especificado em segundos]

zenity --info --title "Hello" --text "World" --timeout=2

Fonte: eu mesmo lendo as páginas do manual: man zenity

OR
[super feio de aparência]

xmessage 'hello world'

Fonte: link

    
por 02.04.2018 / 20:11
1

Em um script de shell, você também pode chamar o utilitário osd_cat do libxosd.

    
por 29.08.2009 / 14:51