
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 1
funciona 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.