você está aqui: Home  → Arquivo de Mensagens

notify-send - Notificações no desktop

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 03 de outubro de 2016

Todos nós estamos acostumados com as notificações que de tempos em tempos aparecem no desktop de sistemas GNU/Linux, como por exemplo, quando uma conexão de rede é estabelecida ou interrompida.

Entretanto, é muito fácil criar notificações para nos alertar de eventos que não estejam diretamente relacionados com o sistema operacional em si.

O programa que envia as notificações chama-se notify-send.

Veja um exemplo:

$ notify-send 'Hora de almoçar!' \
 'Levante e corra para o RU' --icon=dialog-information

O programa notify-send aceita as seguintes diretivas:

Diretiva Descrição
-u, --urgency=NÍVEL especifica o nível de urgência (low, normal, critical)
-t, --expire-time=TEMPO especifica a duração, em milisegundos, em que a notificação aparecerá na tela
-i, --icon=ICON especifica o nome do ícone a ser exibido na notificação.
-c, --category=TIPO[,TIPO,...] especifica a categoria da notificação

A diretiva "-i" busca os ícones disponíveis no diretório /usr/share/icons/gnome/32x32. Neste diretório existem diversos subdiretórios: actions, animations, apps, categories, devices, emblems, emotes, mimetypes, places, status. Basta escolher o tipo de ícone a ser exibido na notificação. Por exemplo, para enviar uma notificação informando que a impressora não está funcionando, usamos o seguinte comando:

$  notify-send -i printer-remote -t 10000 \
'Impressora não está funcionando' 'Avise o Suporte'

Uma lista interessante de ícones para estas notificações pode ser encontrada no diretório /usr/share/icons/gnome/32x32/emotes:

face-angel, face-angry, face-cool, face-crying, face-devilish, face-embarrassed, face-glasses, face-kiss, face-laugh, face-monkey, face-plain, face-raspberry, face-sad, face-sick, face-smile-big, face-smile, face-smirk, face-surprise, face-tired, face-uncertain, face-wink, face-worried, stock_smiley-10, stock_smiley-11, stock_smiley-13, stock_smiley-15, stock_smiley-18, stock_smiley-1, stock_smiley-22, stock_smiley-2, stock_smiley-3, stock_smiley-4, stock_smiley-5, stock_smiley-6, stock_smiley-7 stock_smiley-8,

Para enviar notificações via cron é um pouquinho mais complicado, mas não é impossível:

$ sudo -u X_user DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/X_userid/bus \
 notify-send 'Acabou o dia!' 'Hora de ir para casa'

O programa notify-send faz parte do pacote libnotify-bin.

Referências



Veja a relação completa dos artigos de Rubens Queiroz de Almeida