notificar-enviar para outro usuário por crontab

notificar-enviar para outro usuário por crontab

Eu tenho um script que está rodando pelo crontab mas como su, em algum momento é possível que ele envie uma notificação por notify-send mas eu quero isso para um usuário específico (o login está em $2, mas apenas um estará logado no mesmo tempo)

Tentei as linhas abaixo, mas não funcionou ;(

export DISPLAY=:0.0

eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";

username=$2
pid=$(pgrep -u $username nautilus)
dbus=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed 's/DBUS_SESSION_BUS_ADDRESS=//' )
export DBUS_SESSION_BUS_ADDRESS=$dbus

Obrigado pela ajuda antecipadamente!

Responder1

Eu encontrei isso e funciona legal:

DISPLAY=:0 sudo -u $2 notify-send "$path not found!

Responder2

Adicionar head -n 1funciona porque agora existem três linhas de dados do pgrep -u $LOGNAME gnome-session.

eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session | head -n 1)/environ)";

estou usando ele emmeu script para monitorar o ZFS e mdamd.

informação relacionada