
Tengo un script que se ejecuta mediante crontab pero, como su, en algún momento es posible que envíe una notificación mediante notificación-envío, pero quiero enviar esto a un usuario específico (el inicio de sesión es en $2, pero solo uno iniciará sesión al mismo tiempo). tiempo)
Probé las siguientes líneas pero no funciona;(
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
¡Gracias por la ayuda de antemano!
Respuesta1
Encontré esto y funciona genial:
DISPLAY=:0 sudo -u $2 notify-send "$path not found!
Respuesta2
Agregar head -n 1
funciona porque ahora hay tres líneas de datos de pgrep -u $LOGNAME gnome-session
.
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session | head -n 1)/environ)";
lo estoy usando enmi script para monitorear ZFS y mdamd.