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

Opinião dos Leitores

Clovis Reis
01 Dez 2016, 16:33
Da forma mencionada, não funcionou com o cron.
Para que funcionasse, foi necessário criar um script com as seguintes linhas:

###################################
#/bin/sh

export DISPLAY=":0.0"
export XAUTHORITY="/home/user/.Xauthority"
export XDG_RUNTIME_DIR="/run/user/1000"

notify-send "Bkp" "Realizando backup de rotina!" --icon=dialog-information
###################################

Onde "user" em "/home/user/.Xauthority" é o seu nome de usuário e "1000" em "/run/user/1000" é o Id do usuário, que pode ser obtido por

id -u

Abç
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script